结构体初始化的几种方法
1.先定义再初始化
struct obj_t {const char *name;int val;
};obj_t obj;
obj.name = "ABC";
obj.val = 0;
2.定义的时候初始化
// 写法1 按照顺序赋值
struct {const char *name;int val;
} obj_2 = {"ABD", 0};// 写法2 单独对成员赋值
struct {const char *name;int val;
} obj_3 = {.name = "ABD", .val = 0};// 写法3
struct obj_t {const char *name;int val;
};
obj_t obj_1 = {.name = "name", .val = 0};
3.结构体嵌套
// 写法1
struct {const char *name;int val;struct{int a;}obj;
} obj_4 = {"ABD", 0, 666};// 写法2
struct {const char *name;int val;struct{int a;}obj;
} obj_5 = {.name = "ABD", .val = 0, {.a = 666}};
4.结构体数组
struct {const char *name;int val;
} obj_6[2] = {[0] = {"name 0", 0}, [1]= {"name 1", 1}};
5.结构体嵌套数组
struct {const char *name;int val;struct{int a;}obj;
} obj_7[2] = {[0] = {"name 0", 0, 0}, [1] = {"name 1"}};
struct obj_t {const char *name;int val;struct {int a;} obj;
};obj_t obj_8[2] = {[0] = {"name 0", 0, 0},[1] = {"name 1", 0, 0}
};
6.使用类型别名
typedef struct {const char *name;int val;
} obj_t;obj_t obj_9;
7.成员函数
void fn() {;
}typedef struct {const char *name;int val;void (*function)();
} obj_t;obj_t obj_10 = {.function = fn};
结构体初始化的几种方法相关推荐
- C语言结构体初始化的几种方法
一.介绍 结构体作为数据结构的基础,经常使用,其中初始化也有几种方法,这里详细介绍 二.常规初始化(先定义再初始化) typedef struct {int bandrate;int databits ...
- linux c 结构体初始化的四种方法
定义: struct InitMember {int first:double second:char* third:float four; }; 方法一:定义时赋值 struct InitMembe ...
- C语言结构体初始化的四种方法
定义 struct InitMember {int first:double second:char* third:float four; }; 方法一:定义时赋值 struct InitMember ...
- C\C++ 结构体初始化的四种方法
--------------------------------------------- -- 时间:2018-12-26 -- 创建人:Ruo_Xiao -- 邮箱:xclsoftware@163 ...
- C语言结构体定义的几种方法
什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类.结构体可以被声明为变量.指针或数组等,用以实现较复杂的数据 ...
- 嵌套结构体初始化的几种方式
嵌套结构体初始化的几种方式 #结构体定义 structA define typedef struct {char a;int b;float c; }struct_A_s; structB defin ...
- 结构体初始化的几种方式
结构体初始化的几种方式 无构造方法的结构体初始化 创建一个结构体 struct STUDENT {string name;int age;string sex; } 定义时赋值 // 定义时赋值,通过 ...
- 11【C语言 趣味算法】个人所得税问题(结构体应用):结构体的声明、定义结构体类型的三种方法等
Contents 一.Review 二.New Problem:Personal income tax issues(个人所得税问题) 2.1 Description of the problem 2 ...
- Go结构体初始化的几种方式
new初始化结构体指针 可以通过使用new关键字对结构体进行实例化,得到的是结构体的地址. 格式如下: package mainimport "fmt"type stu struc ...
最新文章
- yelee主题中的Busuanzi网站统计失效问题
- Remoting and MSMQ 结合做的一个DEMO
- 棉花糖多少钱_如何在6.0棉花糖及更高版本中访问Android的正在运行的应用程序列表...
- 移动办公计算机,最适合移动办公的三款掌上电脑点评
- Qt工作笔记-简单的画图工具
- BAT警示:没试过这个方法就别说会数据分析!!
- 讲python现状的文章_用 Python 分析 Python 工作现状
- 最新要饭网源码1.6终极版
- 三维建模的基础知识:SolidWorks /CATIA 简介
- 人体神经系统分布图高清,神经分布图超清图片
- sql面试题:问题1:查询每个同学的学生编号、学生姓名、选课总数...问题2:查询“张三”老师所授课程的学生中,成绩最高的学生信息...
- pyenv管理虚拟环境
- 外包招聘背调,是对前雇主的一种侮辱
- 计算机专业毕业论文格式,2016年计算机专业毕业论文内容及格式要求
- AI对项目管理的影响
- 多个input不换行
- 在PR中如何调整图像大小的分辨率
- 股票量化策略是如何被执行出来的?
- “不是内部或外部命令,也不是可运行的程序或批处理文件”
- SAP BAPI_ACC_DOCUMENT_POST函数预制凭证失败报错--会计科目xxxxx 在会计科目表xxx 中没有定义