创建结点 与 分配内存 Function to create a Node. Allocates memory for a new node. 主动申请内存 链表 指针的写法

 

Self Referential Data Structure in C - create a singly linked list http://www.how2lab.com/programming/c/link-list1.php

 

#include <stdio.h>
typedef struct st  {
	int  data;
	struct st* s;
} alias;
alias *createNode() {
	alias *new;
	new=(alias *)malloc(sizeof(alias));
	return new;
}
int main() {
	alias a,*b;
	b=createNode();
	a.data=123;
	b->data=456;
	a.s=b;
	printf("%d,",a.data);
	printf("%d,",a.s->data);
	return 1;
}

  

注意:

typedef struct st {
int data;
struct st *s;
} alias;

typedef struct st {
int data;
struct st* s;
} alias;

 同

 

alias* createNode() {
alias *new;
new=(alias *)malloc(sizeof(alias));
return new;
}

alias *createNode() {
alias *new;
new=(alias *)malloc(sizeof(alias));
return new;
}

 同

 

 

 

#include <stdio.h>
typedef struct st  {
	int  data;
	struct st* s;
} alias;
alias *createNode() {
	alias *new;
	new=(alias *)malloc(sizeof(alias));
	return new;
}
int main() {
	alias a,*b;
	b=createNode();
	a.data=123;
	b->data=456;
	a.s=b;
	printf("%d,",a.data);
	printf("%d,",a.s->data);
	alias *c;
	c=createNode();
	c->data=789;
	(*b).s=c;
	printf("%d,",a.s->s->data);
	return 1;
}

  

 

#include <stdio.h>
int* createInt() {
	int *new;
	new=(int *)malloc(sizeof(int));
	return new;
}
int main() {
	int *a;
	int *b;
	a=createInt();
	b=createInt();
	*a=123;
	*b=456;
	printf("%d,",*a);
	printf("%d,",*b);
	return 1;
}

  

#include <stdio.h>
int* createInt() {
	int *new;
	new=(int *)malloc(sizeof(int));
	return new;
}
int main() {
	int *a;
	int* b;
	a=createInt();
	b=createInt();
	*a=12;
	*b=34;
	printf("%d,",*a);
	printf("%d,",*b);
	return 1;
}

  

 

 

对指针变量的赋值

 

 

以下未报错

#include <stdio.h>
int* createInt() {
	int *new;
	new=(int *)malloc(sizeof(int));
	return new;
}
int main() {
	int *a;
	/*
	int* b;

	a=createInt();
	b=createInt();
	*/
	a=12;
	/*
	*b=34;
	printf("%d,",*a);
	printf("%d,",*b);
	*/
	printf("CAN!,");
	return 1;
}

  

 

15 3 D:\editorTool\main.c [Warning] assignment makes pointer from integer without a cast

 

 

4 13 D:\editorTool\main.c [Warning] incompatible implicit declaration of built-in function 'malloc'

 

posted @ 2019-03-16 16:54  papering  阅读(429)  评论(0编辑  收藏  举报