C/C++结构体初始化
来源:互联网 发布:保罗乔治身体数据 编辑:程序博客网 时间:2024/06/10 23:54
针对C/C++中定义的结构体,如何初始化其实是一门很深的学问,很多项目的bug是由结构体初始化造成的。
struct A { int a; int b[2]; char *c; string d;}A1
对上面的结构体,如何针对这四个不同类型的变量进行初始化?
1.最直接的方式
struct A a={1,{1,2},NULL,""};
2.利用指针
A *st=new A();st->a=1;st->b[0] = 1;st->b[1] = 2;st->c=NULL;st->d="";delete st;
3.利用memset进行初始化
A st;memset(&st,0,sizeof(st));
注意:该方法是按照2字节进行初始化,只能设置为0,如果设置其他值,将不能得到期望的初始值。string类型初始化,在linux下头指针为空,所以不能直接被赋值。
例如:
st.c="array";
该操作linux环境下是不合法的。
阅读全文
0 0
- c 结构体初始化
- c结构体初始化
- c 结构体初始化
- C结构体初始化
- C/C++结构体初始化
- C语言结构体初始化
- C/C++结构体初始化
- 【C/C++】结构体de初始化
- C语言里面结构体初始化
- c语言结构体指针初始化
- Linux C中结构体初始化
- 测试一下C语言结构体初始化
- Linux C中结构体初始化
- c语言结构体指针初始化
- C语言中结构体的初始化
- c语言结构体指针初始化
- c语言结构体指针成员初始化
- c语言结构体指针初始化
- poj 1308 Is It A Tree?(并查集)
- Ext中创建Window窗体
- poj1948 Triangular Pastures(背包)
- 将xls表格数据转为点数据(1)
- 通过MyBatis Generator快速配置Mybatis
- C/C++结构体初始化
- 模板类继承
- 阿里巴巴2016校招笔试题(含答案)
- 城市列表第三方集成
- 19:字符串移位包含问题
- ubuntu16.04+cuda8.0+cudnn5.1+caffe 安装(基于独立主机&集成显卡>X1080Ti)
- [LeetCode]139. Word Break
- jsp出现The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- 结构型模式之适配器模式