数组初始化为1

数组初始化为1 结构体数组的初始化是什么?

什么是结构数组的初始化?

结构体数组的初始化是什么?

1、初始化

typedefstruct_TEST_T {undefined

int i

char c[10]

}TEST_T

TEST_T gst = {1, 12345)//可以初始化。s一个字符串.

TEST_T gst = {1}//初始化个数小于实际个数时,初始化前面只有成员。

TEST_Tgst = {.c=初始化成员12355//有选择。

2、复合字面量。

gst = (TEST_T){122, 1256}//这是一个赋值语句,也可以作为初始化。它可以出现在程序的任何地方。

当然也可以用复合字面量来初始化:

gst = (TEST_T){.i=122, .c=“123”}

3、结构体数组

可以用多个大括号括起来:

TEST_T gst[10] = {undefined{},

其中一个元素也可以初始化:

TEST_T gst[10] = {[2]={}, [3]={}}

也可以使用复合字面量:

TEST_T gst[10] = {[2].i=0, [3].i={}

C如何初始化字符数组?

1、直接逐个初始化字符数组:

对于字符数组的初始化,最容易理解的方法就是逐字赋予数组中的元素。

char str[10]={ #39I#39,#39 #39,#39a#39,#39m#39,#39 #39,‘h’,#39a#39,#39p#39,#39p#39,#39y#39}

注:如果花括号中提供的字符数大于数组长度,则按语法错误处理;如果小于数组长度,则只自动将这些字符数组中的前部元素和其他元素设置为空字符(即#39\\\\0#39

)。

2、用字符串常量来初始化字符数组:

在C语言中,字符串作为字符数组进行处理。所以可以用字符串来初始化字符数组。

char str[]={#34I am happy#34}

也可以省略花括号。

char str[]=#34I am happy#34

但是,上述字符数组的整体分配只能在字符数组初始化时使用,而不能用于字符数组的分配。字符数组的分配只能逐个分配其元素。以下分配方法是错误的。

char str[]

str=#34I am happy#34//错误,字符数组的赋值只能按元素一一赋值