1.定义一个结构体类型,结尾记得加分号:

struct Stu{

char name[32];

char sex;

int age;

};

结构体里面也可以包含其它的结构体,或者结构体指针。

这个时候我们只是建立了一个结构体类型,系统并没有给它在内存上分配空间,所以也不能初始化或赋值,我们可以在定义结构体的同时在结尾创建一个结构体s1,然后对s1进行操作:

struct Stu{

char name[32];

char sex;

int age;

}s1;

2.创建及初始化结构体

创建一个结构体:

struct Stu s1;

对数组不能直接赋值,我们可以调用函数strcpy:

strcpy(s1.name, "zhangsan");

字符要用单引号:

s1.sex = 'm';

整形直接赋值:

s1.age = 30;

结构体的大小和结构体包含的类型及其排列方式有关。

3.结构体指针

创建一个结构体指针:

struct Stu *p1 = malloc(sizeof(struct Stu));

初始化,结构体指针要用 ‘->’连接,否则会报错:

strcpy(p1->name, "lisi");

p1->sex = 'w';

p1->age = 30;

结构体指针的大小就是指针的大小,是固定的,32位系统的指针大小是4字节,64位系统的指针大小是8字节,和结构体包含的类型及其排列方式没有关系。

结构体的定义、初始化相关推荐

  1. c语言中申请内存并初始化,c语言中结构体的定义、初始化及内存分配

    #include struct person { char *name; int age; }; int main() { //结构体可以定义在函数内,也可以定义到函数外 //相当于全局变量与局部变量 ...

  2. 定义结构体时的初始化默认值

    结构体变量定义时的初始化问题: 默认值同变量一样,int型的为0,指针型的为"NULL"------------并不是整个结构体为NULL,其中的int型还是有值0的,只是指针型的 ...

  3. C++结构体的定义、初始化和引用

    定义: 结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构. 声明一个结构体类型的形式是: struct Student{ //声明一个结构体类型Student in ...

  4. 结构体中定义函数指针

    结构体指针变量的定义,定义结构体变量的一般形式如下: 形式1:先定义结构体类型,再定义变量 struct结构体标识符 { 成员变量列表;- }; struct 结构体标识符 *指针变量名; 变量初始化 ...

  5. Golang——结构体创建与初始化、结构体与数组、结构体与切片、结构体与map、结构体作为函数参数、结构体方法、结构体方法继承

    结构体: 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合 结构体可以很好的管理一批有联系的数据,使用结构体可以提高程序的易读性,类似于Java的类一样 不能在结构体直接赋值 字段名必须唯一 ...

  6. go结构体初始化_go语言基础之结构体普通变量初始化

    1.结构体 1.1.结构体类型 有时我们需要将不同类型的数据组合成一个有机的整体,如:一个学生有学号/姓名/性别/年龄/地址等属性.显然单独定义以上变量比较繁琐,数据不便于管理. 结构体是一种聚合的数 ...

  7. 8.1 结构体的定义和使用

    8.1 结构体的定义和使用 结构体是一种自定义数据类型,跟普通的数据类型具有相似的用法. #include <iostream> #include <string> using ...

  8. C语言中的结构体,结构体中数组初始化与赋值

    最近写c语言中的结构体遇到了些问题,从网上找了些资料如下: 结构体是连续存储的,但由于结构体中成员类型各异,所以会存在内存对齐问题,也就是内存里面会有空档,具体的对齐方式这里 暂不讨论: 1.结构体的 ...

  9. Rust中结构体的定义和实例化

    文章目录 使用字段初始化简写语法 使用结构体更新语法从其他实例创建实例 使用没有命名字段的元组结构体来创建不同的类型 没有任何字段的类单元结构体 结构体和我们在"元组类型"部分论过 ...

  10. 上期所API头文件一、ThostFtdcUserApiStruct.h---API结构体的定义及工作流程(源代码6.3.19版)

    结构体的定义及工作流程 一.API工作流程 1.1.MdApi 1.2.TraderApi 二. ThostFtdcUserApiStruct结构体的定义 三.源代码 一.API工作流程 1.1.Md ...

最新文章

  1. 第十六届全国大学生智能车竞赛赛道审核 - 东北赛区第三批赛道审核
  2. 电脑网络信号传输频率_高速数字电路设计中信号完整性
  3. Yii2.0学习资源
  4. 运维记录 - 业务日志清理功能
  5. 补码为什么要取反加1?
  6. 初二物理模型有哪些_初二是成绩下滑的高危期,做好这5点成绩涨涨涨!(附全学科提升技巧,家长转给孩子!)...
  7. 985研究生连论文都不会写,还面试什么大厂
  8. 无向图的遍历_大鲨说算法与数据结构图(一)
  9. 【高并发】java JUC中的Semaphore(信号量)
  10. 如何使用JavaScript检查URL中的#哈希?
  11. 语音识别行业成长红利期已过,行业寡头显现,小公司生存状况堪忧
  12. 数学建模——遗传算法(GA)
  13. Structs个人适用知识整理
  14. 世界级软件平台企业,永洪科技要的就是这个范儿
  15. git提示please tell me who you are
  16. 牛客寒假基础集训营 | Day1 D题—hanayo和米饭
  17. PNI12927磁场强度传感器--金属检测实现方案
  18. Ansoft Links v4.2.7z
  19. 紫光华宇拼音输入法 V6.1 正式版
  20. mcgs 日期选择窗口_MCGS中想在页面上显示当前时间,要怎样做啊?

热门文章

  1. 论文《Context Contrasted Feature and Gated Multi-scale Aggregation for Scene Segmentation》笔记
  2. PS系列之 -- 通道抠图进阶 : 用通道抠取头发
  3. Qt之自定义属性Q_PROPERTY
  4. 哈工大LTP的依存分析
  5. java结束if_java中如何结束if循环
  6. joycon手柄拆解_任天堂Switch手柄腕带勿装反 取下需技巧
  7. 调试iphone上html,如何调试 iPhone Safari 浏览器的CSS兼容问题
  8. Openssl下载网址
  9. Docker_Cgroup
  10. 除留余数法构造哈希函数并用链地址法处理哈希冲突【C++实现】