主要使用的是第一种,类似数组赋值
#include<stdio.h>
typedef struct al_data
{
int a;
int b;
int c;
char ch;
}al_data;
struct al_data ad =
{
1,
3,
9,
'A',
};
struct al_data ad2 =
{
.a = 2,
.b = 6,
.c = 18,
.ch = 'B',
};
struct al_data ad3 =
{
a:3,
b:9,
c:27,
ch:'C'
};
int main()
{
printf("ad.a=%d, ad.b=%d, ad.c=%d, ad.ch=%c \n", ad.a, ad.b, ad.c, ad.ch);
printf("ad2.a=%d, ad2.b=%d, ad2.c=%d, ad2.ch=%c \n", ad2.a, ad2.b, ad2.c, ad2.ch);
printf("ad3.a=%d, ad3.b=%d, ad3.c=%d, ad3.ch=%c \n", ad3.a, ad3.b, ad3.c, ad3.ch);
return 0;
}
更多资料
Linux C 结构体初始化三种形式
https://www.cnblogs.com/chenzhefan/p/8419582.html