C/C++结构体(struct)使用与自定义字节对齐学习笔记

您所在的位置:网站首页 结构体中字节对齐怎么表示 C/C++结构体(struct)使用与自定义字节对齐学习笔记

C/C++结构体(struct)使用与自定义字节对齐学习笔记

2023-11-27 15:05| 来源: 网络整理| 查看: 265

文档声明: 以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正。并且该文档在后期会随着学习的深入不断补充完善。

资料仅供学习交流使用。 作者:Aliven888

1、简述

  结构体(struct)是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员(Member)。

2、定义格式

常用格式:

struct MyStructName { 参数类型 参数; //例如:int a; ... //参数可有多个,而且类型不同 };

定义唯一结构体变量(全局可以用):

struct MyStructName { 参数类型 参数; //例如:int a; ... //参数可有多个,而且类型不同 }stu; //该结构体变量 stu 是唯一的

为结构体定义一个别名:

typedef struct MyStructName { 参数类型 参数; //例如:int a; ... //参数可有多个,而且类型不同 }stu_MyStuName; //可以使用stu_MyStuName定义结构体变量 eg : stu_MyStuName st; //使用别名定义结构体对象 st 3、结构体的使用

首先我们定义一个结构体:

struct MyStruct //因为是举例,定义的比较简单 { int a; };

定义结构体对象与访问参数:

//C 语言中的定义方式 struct MyStruct obj; //或者指针形式:struct MyStruct *obj; //C++中支持的定义方式 MyStruct obj; //或者指针形式:MyStruct *obj; //参数访问 指针形式访问 obj.a = 0x01; // obj->a = 0x01; 4、结构体内存计算 struct MyStruct { byte bValue; WORD wValue; int iValue; double dbValue; MyStruct() { bValue = 0x00; wValue = 0x00; iValue = 0x00; dbValue = 0.0; } }stu; void test() { cout byte bValue; WORD wValue; int iValue; double dbValue; MyStruct() { bValue = 0x00; wValue = 0x00; iValue = 0x00; dbValue = 0.0; } }stu; #pragma pack(pop) void test() { cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3