欢迎光临
我们一直在努力

C语言结构体基础一

结构体类型定义:

  struct 结构体名 { 数据类型 成员变量1; 数据类型 成员变量2; … }; 

定义自定义构造数据类型,用于封装多个不同类型的数据。

结构体变量定义:

  struct 结构体名 变量名; (如  struct student a; )

定义具体的结构体变量,分配对应内存空间。

 结构体变量全部初始化:

 struct 结构体名 变量名 = {值1, 值2, …}; (如  struct student a = {"zhangsan", 'm', 17, 90}; )

一次性为所有成员变量赋值。

结构体变量局部初始化:

  struct 结构体名 变量名 = {.成员名1 = 值1, .成员名2 = 值2, …}; (如  struct student a = {.name = "zhangsan", .score = 100}; )

仅为部分成员变量赋值,未赋值成员自动默认初始化。

结构体变量访问成员:

  结构体变量名.成员名; 

通过“.”运算符直接访问结构体变量的成员,用于读写成员值。 

结构体指针访问成员:

  结构体指针->成员名; 

通过“->”运算符访问指针指向的结构体成员,适合指针操作场景。

 结构体内存对齐:

 结构体成员需存放在自身基本类型长度整数倍的地址,结构体总大小为最大基本类型长度的整数倍;

提升CPU内存访问效率,减少读取次数。

 结构体作为函数参数:

1. 传值: void fun(struct date day);  传递结构体副本,函数内修改不影响原变量;

2. 传指针: void fun(struct date *pday);  传递结构体地址,可修改原变量,效率更高;

3. 返回结构体: struct date fun(void);  函数直接返回结构体类型数据。

赞(0)
未经允许不得转载:171主机测评 » C语言结构体基础一
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址