指定初始化
指定初始化的好处
- 使用灵活。可以初始化任意成员的值。
- 易于维护。大型项目的结构体非常复杂,添加或删除成员时的改动比较小。
指定初始化数组
整体初始化
int a[10]={1,2,3,4,5,6,7,8,9,} //a[9]会默认初始化为0
指定初始化:中间用逗号隔开
int a[10]={[2] = 2, [5] = 5};
int a[10]={[2 ... 5] = 1, 6}; //表示a[2]~a[5]为1,a[6]=6
...表示范围扩展,前后都要有空格。...还可用在switch-case语句中。
switch(i){
case 1:
printf("1\n");
break;
case 2 ... 6:
printf("6\n");
break;
}
指定初始化结构体
struct student{
char name[20];
char address[50];
int age;
int scores;
}
整体初始化
struct student stu = {"deng", "China", 20, 100};
指定初始化:结构体不同成员之间用逗号隔开。
struct studeng stu = {
.name = "deng",
.age = "20"
}