C语言数组的初始化表示方法有4种,分别是:

1、定义的同时进行初始化,我们同样用数组的初始化引出结构体的初始化,我们知道数组在定义的同时进行初始化的代码如下:

int nums[] = {1, 3, 5}

由此可推出结构体在定义的同时进行初始化的代码如下:

struct Person p = {"lee", 23, 1.8}

2、先定义再进行初始化,这种初始化方法其实昨天的内容里已经写过了,代码如下:

struct Person p

p.name = "lee"

p.age = 23

p.height = 1.8

我们知道数据定义好后就不能对其进行一次性初始化了,比如如下代码是编译不通过的。

int nums[3]

num = {1, 2, 3}

3、第三种结构体比较例外,它可以这样做,只不过需要对其进行一下强制类型转换,代码如下:

struct Person p

p = (struct Person){"xq, 8, 8.8}

4、指定将数据赋值给指定的属性,数组中我们见过这种写法,代码如下:

int nums[3] = {[0] = 2, [2] = 1, [1] = 2}

我们可以为不同的索引指定值,并不需要一定要按顺序来,所以数组可以,结构体是否可以呢,当然,代码如下:

struct Person p = {.height = 1.8, .name = "lee", .age = 23}