c语言怎么结构数据初始化?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言怎么结构数据初始化?相关的知识,希望对你有一定的参考价值。

C语言
结构体类型
变量初始化分为
普通变量

数组变量
两种形式,说明如下:
typedef struct

int x,y;

direction
;
direction dir=1,2 ; //普通变量,用一组括起来,成员变量数据间以逗号分隔,按变量定义顺序对应数值。未赋值成员,默认填0
direction move[8]= //数组变量,整体用一组括起来,每一个元素按普通变量格式进行书写,各元素间用逗号分隔。未赋值元素,默认填0
0,0,0,1,1,0,1,1,
2,0,2,1,3,0,3,1
;
参考技术A 向地址0便是空值,其他数据若内容是0便是空值。填充一大片内存区域可以使用memset函数,它的填充长度是按字节计。
整形:int
a
=
0;
字符型:char
a
=
0;
数组:
int
a[20];
memset(
a,
0,
sizeof(int)*20
);
C字符串只需要把第一个字符设为'\0'即可。
当然也可以全部清成0。
char
a[20]
=
"ashdfuih";
memset(
a,
0,
sizeof(char)*20
);
例如有一个结构体Some
x,可以这样清零:
memset(
&x,
0,
sizeof(Some)
);
如果是一个结构体的数组Some
x[10],可以这样:
menset(
x,
0,
sizeof(Some)*10
);
任何一个指针都可以通过直接赋为0变成空指针:
Some*
p
=
0;
另外,虚机团上产品团购,超级便宜
参考技术B 你说的那个是逆序建立n个节点的链表,建完头结点后由于链表中没有其他节点就把头结点的next置为空,这一点如果不明白的话去看链表那一章,有介绍!!!
之后从后往前建立链表!!刚开始是l->next =null
要注意p是每次新建的节点,这样从后往前以此建立链表,只要明白p是每次新建的节点,和从后往前建立,就会明白的!!给你花了张图!!

以上是关于c语言怎么结构数据初始化?的主要内容,如果未能解决你的问题,请参考以下文章

C语言结构体里的结构体怎么初始化

C语言结构体初始化问题

c语言,结构体数组怎么初始化

C语言,结构体中的数组怎么赋值,?

C语言中怎么定义个线性表

c语言结构体怎么判断是不是为空