结构体初始化
来源:互联网 发布:学而知之什么意思 编辑:程序博客网 时间:2024/06/11 03:16
结构体定义
typedef struct _oper { int a; int b; } oper;//定义结构体 oper a1;//定义变量
结构体定义并不是定义一个变量,而是定义了一种数据类型,这种类型是你定义的,它可以和语言本身所自有的简单数据类型一样使用(如 int )。
结构体本身并不会被作为数据而开辟内存,真正作为数据而在内存中存储的是这种结构体所定义的变量。
一个结构体变量占多大内存空间呢?这是由这种结构体类型的定义决定的,可以想象为了同时存储结构体的每一个成员,那么结构体变量的存储大小,就应该是所有分量的存储空间的总合。
结构体初始化
typedef struct _oper { int a; int b; } oper;int main(){ //顺序初始化 oper oper_one = {10,20}; printf("oper_one caculate: a = %d b =%d\n", oper_one.a,oper_one.b); //乱序初始化 oper oper_two = { .b = 30, .a = 20, }; //乱序初始化 oper oper_three = { a:40, b:20, }; printf("oper_three caculate: a = %d b =%d\n", oper_three.a,oper_three.b); //整体初始化 oper oper_four; oper_four = oper_three; printf("oper_four caculate: a = %d b =%d\n", oper_four.a,oper_four.b); return 0;}
单项初始化(顺序初始化)
oper oper_one = {10, 20, add};
单项初始化(乱序初始化)
其中.形式为C99支持,
oper oper_two = { .b = 30, .a = 20, .cal_func = &add, };
:形式为GCC支持
oper oper_three = { cal_func:&add, a:40, b:20, };
整体初始化
不同于数组,标准C中结构体变量可以整体赋值
oper oper_four;oper_four = oper_three;
阅读全文
0 0
- 结构体初始化--指定初始化
- 结构体的初始化
- 结构体变量初始化
- 结构体初始化
- C++结构体初始化
- 结构体的初始化
- 结构体初始化方法
- 结构体初始化
- 结构体初始化
- 结构体初始化
- c 结构体初始化
- 结构体初始化
- 结构体初始化
- 结构体数组初始化
- 结构体初始化
- 结构体初始化
- 结构体初始化
- c结构体初始化
- 魔鬼经济学
- 图论第二次课
- 01-商城购物车练习
- 绘图和可视化
- 【数据结构】可持久化线段树&Trie总结
- 结构体初始化
- icpc-beijing-cats and fish
- Spring任务调度Scheduling Tasks
- spark学习-35-Spark的Map任务输出跟踪器MapOutputTracker
- C++多任务编程简明教程 (1)
- SpringMVC中@Controller和@RequestMapping用法和其他常用注解
- Algorithm-week11
- SparkStreaming中DStream的概念
- ”复杂”的栈帧