C语言基础之结构体、共用体、枚举、类型定义typedef

本文详细介绍了C语言中的结构体、共用体、枚举和typedef的概念及用法。结构体允许将不同类型的数据组合成一个整体,可以嵌套定义。共用体则让不同类型的变量共用同一段内存。枚举提供了一种安全的定义枚举值的方式。typedef用于创建自定义数据类型,简化代码阅读和维护。
摘要由CSDN通过智能技术生成

结构体类型的定义

一般形式为:

struct 结构体名 {
	类型名1 成员名1;
	...
	类型名n 成员名n;
};

struct是结构体类型的标志。结构体名是由用户定义的标识符,它规定了所定义的结构体类型的名称。结构体类型的组成成分称为成员,成员名的命名规则与变量名相同。

用途:把不同类型的数据组合成一个整体--自定义数据类型。

结构体类型定义可以包含另外的结构体,即结构体是可以嵌套的。

定义结构体类型只是说明了该类型的组成情况,编译系统并没有给它分配内存空间,就像系统不为int等类型本身分配空间一样。只有当定义属于结构体类型的变量时,系统才会分配存储空间给该变量。

结构体变量的定义

1.先定义结构体类型,再定义结构体变量:

struct 结构体名 {
	类型名1 成员名1;
	...
	类型名n 成员名n;
};

struct 结构体名 变量名;

2.定义结构体类型的同时定义结构体变量:

struct 结构体名 {
	类型名1 成员名1;
	...
	类型名n 成员名n;
}变量名1,变量名2,...;

3.直接定义结构体类型变量,省略结构体类型名,由于这种定义形式没有说明结构体类型,所以这种方式通常用在不需要再次定义此类型结构体变量的情况下:

struct {
	类型名1 成员名1;
	...
	类型名n 成员名n;
}变量名1,变量名2,...;

结构体变量中的各成员在内存中是按定义顺序依次排列的。

结构体变量的初始化

对结构体类型变量赋初值时,按每个成员的结构体中的顺序一一对应赋值。

在定义时初始化的3种方式:

struct 结构体名 {
	类型名1 成员名1;
	...
	类型名n 成员名n;
};

struct 结构体名 变量名 = {初始数据};

struct 结构体名 {
	类型名1 成员名1;
	...
	类型名n 成员名n;
}变量名1 = {初始数据};

struct {
	类型名1 成员名1;
	...
	类型名n 成员名n;
}变量名1 = {初始数据};

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值