C语言结构体概述

在编码的过程中有时需要将不同类型的数据组合成一个有机的整体,以便于引用,类似于Java的面向对象。
定义一个结构的一般形式:
struct 结构名{
成员列表
};
例如:定义一个学生的结构体(包括学号、姓名、性别、年龄、成绩、住址)

struct student{
			int num;//学号
			char name[20];//姓名
			char sex;//性别
			int age;//年龄
			float score;//成绩
			char addr;//住址
	}

可以采用3种方法定义结构体类型变量:
1.先声明结构体类型再定义变量名
例如:struct student student1,student2;
定义了student1和student2为struct student类型的变量,即它们具有struct student类型的结构。
2.在声明类型的同时定义变量
一般形式为:
struct 结构体名{
成员列表
}变量名列表;

例如:struct student{
		int num;//学号
			char name[20];//姓名
			char sex;//性别
			int age;//年龄
			float score;//成绩
			char addr;//住址
	}student1,student2;

3.直接定义结构体类型变量
一般形式为:
struct{
成员列表
}变量名列表;

结构体变量的引用需要遵守的规则:
1.不能将一个结构体变量作为一个整体进行输入和输出。
正确引用方式: 结构体变量名.成员名
2.如果成员本身又属一个结构体类型,则要用若干个成员运算符,一级一级地找到最低的一级的成员。只能对最低级的成员进行赋值或存取以及运算。
3.对结构体变量的成员可以像普通变量一样进行各种运算(根据其类型决定可以进行的运算)。
4.可以引用结构体变量成员的地址,也可以引用结构体变量的地址。结构体变量的地址主要用作函数参数,传递结构体变量的地址。

指向结构体类型数据的指针:
一个结构体变量的指针就是该结构体变量所占据的内存段的起始地址。
可以设一个指针变量,用来指向一个结构体变量,此时该指针变量的值是结构体变量的起始地址。

结构体指针变量说明的一般形式:
struct 结构名 *结构指针变量名
其访问的一般形式:
(*结构指针变量).成员名
或为:结构指针变量->成员名

结构指针变量做函数参数
将一个结构变量的值传递给另一个函数有三个方法:
1.用结构体变量的成员做参数
2.用结构体变量做实参
3.用指向结构体变量(或数组)的指针做实参,将结构体变量(或数组)的地址传给形参

发布了40 篇原创文章 · 获赞 2 · 访问量 3376

猜你喜欢

转载自blog.csdn.net/BEYONDmonster/article/details/104896526