C语言数据类型——结构体
Posted 一只学习的猫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言数据类型——结构体相关的知识,希望对你有一定的参考价值。
文章目录
1 结构体
定义一个结构的一般形式为:
struct 结构名
{成员表列};
成员表列由若干个成员组成,每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:
类型说明符 成员名
1.1 结构类型变量的说明
可以有两种方式说明一个结构体变量:
1)先定义结构,再说明结构变量
struct stu
{
int num;
char name[20];
char sex;
float score;
};
struct stu boy1,boy2;
2)在定义结构类型的同时说明结构变量:
struct stu
{
int num;
char name[20];
char sex;
float score;
}boy1,boy2;
3)直接定义结构体变量,省略结构体名
struct
{
int num;
char name[20];
char sex;
float score;
}boy1,boy2;
1.2 结构类型变量的说明
表示结构变量成员的一般形式是:
结构变量名.成员名
1.3 结构类型变量的赋值
结构变量的赋值就是给各成员赋值。可用输入语句或赋值语句来完成。
1.4 结构变量的初始化
和其他类型变量一样,对结构变量可以在定义时进行初始化赋值。
struct stu /*定义结构*/
{
int num;
char *name;
char sex;
float score;
}boy2,boy1={102,"Zhang ping",'M',78.5};
1.5 结构数组的定义
struct stu
{
int num;
char *name;
char sex;
float score;
}boy[5];
1.6 结构指针变量的说明和使用
1.6.1 指向结构变量的指针
结构指针变量说明的一般形式为:
struct 结构名 *结构指针变量名
有了结构指针变量,就能更方便地访问结构变量的各个成员,其访问的一般形式为:
(*结构指针变量).成员名或结构指针变量->成员名。
1.6.2 指向结构数组的指针
指针变量可以指向一个结构数组,这时结构指针变量的值是整个结构数组的首地址。结构指针变量也可指向结构数组的一个元素,这时结构指针变量的值是该结构数组元素的首地址。
1.6.3 结构指针变量作为函数参数
在 ANSI C 标准中允许用结构变量作函数参数进行整体传送。但是这种传送要将全部成员逐个传送,特别是成员为数组时将会使传送的时间和空间开销很大,严重地降低了程序的效率。因此最好的办法就是使用指针,即用指针变量作函数参数进行传送。这时由实参传向形参的只是地址,从而减少了时间和空间的开销。也就是由“按数值传递”变为“按地址传递”。
以上是关于C语言数据类型——结构体的主要内容,如果未能解决你的问题,请参考以下文章