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};

结构体初始化的几种方法相关推荐

  1. C语言结构体初始化的几种方法

    一.介绍 结构体作为数据结构的基础,经常使用,其中初始化也有几种方法,这里详细介绍 二.常规初始化(先定义再初始化) typedef struct {int bandrate;int databits ...

  2. linux c 结构体初始化的四种方法

    定义: struct InitMember {int first:double second:char* third:float four; }; 方法一:定义时赋值 struct InitMembe ...

  3. C语言结构体初始化的四种方法

    定义 struct InitMember {int first:double second:char* third:float four; }; 方法一:定义时赋值 struct InitMember ...

  4. C\C++ 结构体初始化的四种方法

    --------------------------------------------- -- 时间:2018-12-26 -- 创建人:Ruo_Xiao -- 邮箱:xclsoftware@163 ...

  5. C语言结构体定义的几种方法

    什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类.结构体可以被声明为变量.指针或数组等,用以实现较复杂的数据 ...

  6. 嵌套结构体初始化的几种方式

    嵌套结构体初始化的几种方式 #结构体定义 structA define typedef struct {char a;int b;float c; }struct_A_s; structB defin ...

  7. 结构体初始化的几种方式

    结构体初始化的几种方式 无构造方法的结构体初始化 创建一个结构体 struct STUDENT {string name;int age;string sex; } 定义时赋值 // 定义时赋值,通过 ...

  8. 11【C语言 趣味算法】个人所得税问题(结构体应用):结构体的声明、定义结构体类型的三种方法等

    Contents 一.Review 二.New Problem:Personal income tax issues(个人所得税问题) 2.1 Description of the problem 2 ...

  9. Go结构体初始化的几种方式

    new初始化结构体指针 可以通过使用new关键字对结构体进行实例化,得到的是结构体的地址. 格式如下: package mainimport "fmt"type stu struc ...

最新文章

  1. yelee主题中的Busuanzi网站统计失效问题
  2. Remoting and MSMQ 结合做的一个DEMO
  3. 棉花糖多少钱_如何在6.0棉花糖及更高版本中访问Android的正在运行的应用程序列表...
  4. 移动办公计算机,最适合移动办公的三款掌上电脑点评
  5. Qt工作笔记-简单的画图工具
  6. BAT警示:没试过这个方法就别说会数据分析!!
  7. 讲python现状的文章_用 Python 分析 Python 工作现状
  8. 最新要饭网源码1.6终极版
  9. 三维建模的基础知识:SolidWorks /CATIA 简介
  10. 人体神经系统分布图高清,神经分布图超清图片
  11. sql面试题:问题1:查询每个同学的学生编号、学生姓名、选课总数...问题2:查询“张三”老师所授课程的学生中,成绩最高的学生信息...
  12. pyenv管理虚拟环境
  13. 外包招聘背调,是对前雇主的一种侮辱
  14. 计算机专业毕业论文格式,2016年计算机专业毕业论文内容及格式要求
  15. AI对项目管理的影响
  16. 多个input不换行
  17. 在PR中如何调整图像大小的分辨率
  18. 股票量化策略是如何被执行出来的?
  19. “不是内部或外部命令,也不是可运行的程序或批处理文件”
  20. SAP BAPI_ACC_DOCUMENT_POST函数预制凭证失败报错--会计科目xxxxx 在会计科目表xxx 中没有定义

热门文章

  1. 曲阜师范大学计算机科学院为什么拆分,曲阜师范大学计算机科学学院导师介绍:禹继国...
  2. 年薪百万的3D建模师真的存在吗?
  3. 收敛的几何级数与flash过渡动画
  4. 每日做题之剑指offer(四)
  5. 虫师 selenium 4.6登录126邮箱获得验证信息
  6. php中数组遍历的四种方式
  7. 【python】pip的使用方法
  8. java 断言assert_Java中的断言 Assert
  9. 重磅!认知智能真的来了?且看道翰天琼认知智能三大技术体系!
  10. .NET MVC中的ViewData、ViewBag和TempData