浅谈C语言中结构体的初始化
来源:互联网 发布:mysql增删改查 编辑:程序博客网 时间:2024/06/03 23:47
《代码大全》建议在变量定义的时候进行初始化,但是很多人,特别是新人对结构体或者结构体数组定义是一般不会初始化,或者不知道怎么初始化。1、初始化
代码如下:
typedef struct
{
int i;
char c[10];
}TEST_T;
TEST_T gst = {1, “12345”};//可以初始化,设置i为1,s为一个字符串.
TEST_T gst = {1};//初始化个数少于实际个数时,只初始化前面的成员。
TEST_Tgst = {.c=“12345”};//有选择的初始化成员。
int i;
char c[10];
}TEST_T;
TEST_T gst = {1, “12345”};//可以初始化,设置i为1,s为一个字符串.
TEST_T gst = {1};//初始化个数少于实际个数时,只初始化前面的成员。
TEST_Tgst = {.c=“12345”};//有选择的初始化成员。
2、复合字面量。
gst = (TEST_T){122, "1256"};//这是一个赋值语句,也可以作为初始化。可以出现在程序的任何地方。
当然也可以使用复合字面量来初始化:
gst = (TEST_T){.i=122, .c="123"};
3、结构体数组
可以用多个大括号括起来:
TEST_T gst[10] = {{},{},{},{}}
也可以初始化其中的一个元素:
TEST_T gst[10] = {[2]={}, [3]={}}复合字面量
也可以使用复合字面量:
TEST_T gst[10] = {[2].i=0, [3].i={}}
为什么要初始化:
1、对局部变量初始化可以防止随机值产生的危害。
2、对全局变量初始化可以告诉编译器,这是一个定义,而不是一个声明。
0 0
- 浅谈C语言中结构体的初始化
- 浅谈C语言中结构体的初始化
- C语言中结构体的初始化
- C语言中结构体的初始化
- C语言中结构体的初始化
- C语言中结构体的初始化
- C语言中结构体的初始化
- C语言中结构体的初始化
- C语言中结构体的初始化
- C语言中结构体(struct)的初始化
- C语言中结构体(struct)的初始化
- C语言结构体的初始化
- C语言结构体的初始化
- C语言之结构体的初始化
- C语言/结构体的初始化
- C语言结构体初始化
- C语言中结构体(struct)乱序初始化
- C语言结构体声明中冒号的使用(占位符) & C结构体的乱序初始化
- html5使用link引入外部css
- Tomcat请求处理(一) -- 服务器端口监听
- 【离散数学】滨江学院 期末考试 题库
- iOS 匹配任意关键字
- Linux Wireless Networking: a short walk
- 浅谈C语言中结构体的初始化
- hdu5742 It's All In The Mind(水)
- 南阳acm 57-6174问题
- 【杭电oj】1171 - Big Event in HDU(01背包)
- 【数据库】解释关系代数中的象集、除运算
- B - Can you solve this equation?
- 在VM中安装linux Red Hat7.0
- Notepad++ 快捷键整理
- Notification通知