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函数为指针分配空间,而后者实际上定义了一个结构,内存中不仅有地址,还有分配的空间,就像你定义了一个数组,内存中已经有空间了,不需要再分配了。
一般来说,如果定义了指针,就要分配空间。
你的两个程序都是对的,但是第一个一般用来定义链表!!!
最后更新于 2023-10-11 11:52:59 并被添加「」标签,已有 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
相关文章