结构体

结构体

将不同种类型的数据有序地组合在一起,构造出一个新的数据类型,这种形式称为结构体。
结构体是多种类型组合的数据类型。
结构体类型的定义
struct [结构体名]
{
类型标识符 成员名;
类型标识符 成员名;
…………….
};

例:struct student
{
short int num;
char name[20];
char sex;
short int age;
float score;
char addr[30];
};
【结构体类型定义描述结构的组织形式,不分配内存】
结构体变量的定义
——先定义结构体类型,再定义结构体变量
struct 结构体名
{
类型标识符 成员名;
类型标识符 成员名;
…………….
};
【struct】 结构体名 变量名表列;
——定义结构体类型的同时定义结构体变量
struct 结构体名
{
类型标识符 成员名;
类型标识符 成员名;
…………….
}变量名表列;
——直接定义结构体变量
struct
{
类型标识符 成员名;
类型标识符 成员名;
…………….
}变量名表列;
【用无名结构体直接定义变量只能一次】

说明

1.结构体类型与结构体变量概念不同
类型:不分配内存; 变量:分配内存
类型:不能赋值、存取、运算; 变量:可以
2.结构体可嵌套
3.结构体成员名与程序中变量名可相同,不会混淆

结构体变量的引用

引用方式: 结构体变量名.成员名
可以将一个结构体变量赋值给另一个结构体变量;
结构体嵌套时逐级引用.
结构体类型变量的引用规则
1.不能对结构体变量整体赋值或输出,只能分别对各个成员引用;
2.嵌套的结构体变量必须逐层引用;
3.结构体变量中的成员可以同一般变量一样进行运算.
结构体变量的初始化
struct 结构体名
{
类型标识符 成员名;
类型标识符 成员名;
…………….
};
struct 结构体名 结构体变量={初始数据};

struct 结构体名
{
类型标识符 成员名;
类型标识符 成员名;
…………….
}结构体变量={初始数据};

struct
{
类型标识符 成员名;
类型标识符 成员名;
…………….
}结构体变量={初始数据};

关于结构类型变量的使用说明:
1.同类型的结构体变量之间可以直接赋值.这种赋值等同于各个成员的依次赋值.
2.结构体变量不能直接进行输入输出,它的每一个成员能否直接进行输入输出,取决于其成员的类型,若是基本类型或是字符数组,则可以直接输入输出.
3.结构体变量可以作为函数的参数,函数也可以返回结构体的值。当函数的形参与实参为结构体类型的变量时,这种结合方式属于值调用方式,即属于值传递.

结构体数组
结构体数组中的每个元素都是一个结构体类型的变量,其中包括该类型的各个成员.
数组各元素在内存中连续存放.

指向结构体变量的指针
一个结构体变量的指针就是该变量所占据的内存段的起始地址.
可以设一个指针变量,用来指向一个结构体变量,此时该指针变量的值是结构体变量的起始地址.
指针变量也可以用来指向结构体数组中的元素.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值