C语言序列表的初始化

仔细看,这东西花了我不少时间。

# includestdio.h

#定义MAXSIZE 100

typedef结构

{

Int data:初始化序列表时,序列表的长度为什么要设置为零(C语言)? 序列表的长度等于序列表中元素的数量。初始化序列表时,其中没有元素,所以长度必须设置为零。

C语言数据结构序列表的初始化 数据结构是基于指针的。理解指针需要几天时间,然后学习数据结构事半功倍。

#包含stdlib.h

#包含stdio.h

#定义MAX_SIZE 100

#定义确定0

#定义错误-1

typedef结构标记SqList

{

int element[MAX _ SIZE];

无符号大小;

} SqList

Int Initial(SqList *pL) //用*定义指针变量,用它在c中取地址。

{

//当通过指针变量访问结构中的字段时,应该使用-运算符,而不是通常的点运算符。

pL-size = 0;

退货OK;

}

int main(void)

{

SQL list L;

首字母(L);//将变量的地址传递给指针参数。

printf("%d\n ",l . size);

退货OK;

}

C语言(数据结构)序列表的初始化 必须分配空间。结构指针(Sqlist * a;),第二个程序的initsqlist函数是声明的结构(Sqlist a;),前者只是在计算机内存中声明了一个指针,不会为指针分配内存空间,所以你应该在初始化的时候用malloc函数为指针分配空间,而后者实际上定义了一个结构,内存中不仅有地址,还有分配的空间,就像你定义了一个数组,内存中已经有空间了,不需要再分配了。

一般来说,如果定义了指针,就要分配空间。

你的两个程序都是对的,但是第一个一般用来定义链表!!!

相关文章

发表新评论