C中结构体初始化的3种方法
作者:互联网
结构体声明
struct InitMember
{
int first;
double second;
char* third;
float four;
};
方法一:定义时赋值
struct InitMember test = {-10,3.141590,"method one",0.25};
1
需要注意对应的顺序,不能错位。
方法二:定义后逐个赋值
struct InitMember test;
test.first = -10;
test.second = 3.141590;
test.third = "method two";
test.four = 0.25;
因为是逐个确定的赋值,无所谓顺序啦。
方法三:定义时乱序赋值(C风格)
这种方法类似于第一种方法和第二种方法的结合体,既能初始化时赋值,也可以不考虑顺序;
struct InitMember test = {
.second = 3.141590,
.third = "method three",
.first = -10,
.four = 0.25
};
这种方法在Linux内核(kernel)中经常使用,在音视频编解码库FFmpeg中也大量频繁使用,还是很不错的一种方式。
原文链接:https://blog.csdn.net/ericbar/java/article/details/79567108
标签:初始化,struct,InitMember,second,test,结构,方法,赋值 来源: https://www.cnblogs.com/jack-zhou/p/12738276.html