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

Python014

c语言怎么结构数据初始化?,第1张

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}

}

这个结构体中包含三个变量,num name[20] c

你的结构体初始化只初始化了 name[20]

其余俩个变量没有初始化,所以会报错

你可以这样初始化 struct wo b(1,"jack",'M')

要注意对结构体中所有变量都要初始化,除非这个变量有缺省值

.location 这种叫按名称初始化,是gun对c的扩展,只有gnu支持,就是linux下的编译器支持(gcc, g++)

程序员写代码的时候,最好使用被广泛支持的标准,尽量不要使用个别编译器的私有定义。

关注优酷上的 ”C学习指南“,在第10章里会讲这个问题。