结构体初始化的方法
来源:互联网 发布:360手机桌面软件 编辑:程序博客网 时间:2024/05/04 19:16
转载请注明出处.http://www.vimer.cn
最近项目小组在去除代码中的warning,在修正代码的过程中看到了对结构体不正确的初始化方式:
假设有一个如下的struct定义:
struct astruct
{
int a;
int b;
};
struct astruct test = {0};
即使astruct中都是基础类型的成员这样的初始化话也是不正确的。
这种初始化仅仅是把a变量设置为了0,而未对b变量做初始化。
产生这样错误的原因,大概是收到数组初始化的影响。数组是可以这么初始化话的,而且初始化的值只能是0!
对结构体的初始化,可以有一下三种。
struct test
{
int a;
int b;
};
int main()
{
struct test t1 = {0, 0};
struct test t2 = {
.a=2,
.b=3
};
struct test t3 = {
a:12345,
b:567890
};
printf("t1.a = %d, t1.b = %d/n", t1.a, t1.b);
printf("t2.a = %d, t2.b = %d/n", t2.a, t2.b);
printf("t3.a = %d, t3.b = %d/n", t3.a, t3.b);
return 0;
}
第一种使我们最常见的方式,2,3中是gcc的扩展,非标准。
- 结构体初始化的方法
- 结构体初始化的方法
- 结构体初始化的方法
- 结构体初始化的方法
- 结构体初始化方法
- 结构体初始化的几种方法
- 结构体的三种初始化方法
- IOS中结构体初始化的方法
- 结构体的三种初始化方法
- 一种初始化结构体数组的方法
- golang中结构体的初始化方法(new方法)
- golang中结构体的初始化方法(new方法)
- C++ 结构体初始化方法
- 结构体的初始化
- 结构体的初始化
- 结构体的初始化
- 结构体的初始化
- 结构体的初始化
- Display Tag使用小记
- 阳历转阴历
- VC++之List Box/Check List Box控件
- ORACLE INSTR()
- MyEclipse8.5改变默认空间workspace
- 结构体初始化的方法
- VC2008快捷键大全
- 推拉模式小结
- 酒店管理系统心得
- C语言考试试题2
- 线程相关
- MFC获取系统当前时间
- K-空间 在图像变换及重建 K-空间与MR图像质量控制
- JavaScript 文件保存不了汉字