[C语言]结构体初始化的不同方法
结构体的定义
struct Test{
int first;
double second;
}Sample;
方法一 定义时直接赋值
Sample s(1, 1.00);
缺点:必须匹配变量顺序,不能错位
方法二 先定义,后赋值
Sample s;
s.second = 1.00;
s.first = 1;
不需要关心顺序
方法三 定义时乱序赋值(C风格)
C99标准,gcc支持,vs不支持。
必须加. VB也有类似用法
相当于1+2
Sample s{
.second = 1.00;
.first = 1;
}
方法四 定义时乱序赋值(C++, C#风格)
可以用在c语言代码中,只是更常用在c++代码中
gcc支持这种编译,vs不支持
Sample s{
second : 1.00;
first : 1;
}