数据结构 |
您所在的位置:网站首页 › C语言链表初始化 › 数据结构 |
一、单链表存储结构解释说明
typedef struct node{
int data;
struct node *next;
}Node,*Link;
1.typedef:是将结构体struct node重新定义了新的名称Node和*Link。 2.struct node *next:是让成员next指向struct node这样一个类型的指针。如下图 在主函数中先为head申请一个结点的空间,并将其next设置为NULL,表示这是一个空表。 Link head; head=(Link)malloc(sizeof(Node)); //创建了一个单链表,设置头结点head head->next=NULL;malloc:是动态内存分配函数,malloc(sizeof(Node))是为Node类型申请一块连续的内存块区域,这个的返回值是void*类型(就是这片连续区域的地址),但是我们前面将这片连续的区域指定成了*Link类型,所以此时需要将malloc(sizeof(Node))做强制类型转换,于是就写成了(Link)malloc(sizeof(Node)),并将其赋值给head。 三、单链表的赋值操作 while(ch!='\n') { p=(Link)malloc(sizeof(Node)); scanf("%d",&c); p->data=c; q->next=p; p->next=NULL; q=p; ch=getchar(); }解释说明如下图: 解释说明: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |