1:构造类型:根据已定义的一个或多个数据类型用构造的方法来定义的。
一个构造类型的值可以根结成若干个成员或元素。每个成员都是一个基本数据类型或又是一个构造类型。
在C语言中,构造类型有以下几种:
数组类型
结构体类型
共用体(联合体)类型
2:结构体
一、什么是结构体
* 在前面已经介绍了C语言中的数组,用法跟其他语言差不多。当一个整体由多个数据构成时,我们可以用数组来表示这个整体,但是数组有个特点:内部的每一个元素都必须是相同类型的数据。
* 在实际应用中,我们通常需要由不同类型的数据来构成一个整体,比如学生这个整体可以由姓名、年龄、身高等数据构成,这些数据都具有不同的类型,姓名可以是字符串类型,年龄可以是整型,身高可以是浮点型。
* 为此,C语言专门提供了一种构造类型来解决上述问题,这就是结构体,它允许内部的元素是不同类型的。
结构体的定义
1.定义形式
结构体内部的元素,也就是组成成分,我们一般称为"成员"。
结构体的一般定义形式为:
复制代码
复制代码
1 struct 结构体名{
2
3 类型名1 成员名1;
4
5 类型名2 成员名2;
6
7 ……
8
9 类型名n 成员名n;
10
11 };
struct是关键字,是结构体类型的标志。
2:比如,我们定义一个学生
struct Student {
char *name; // 姓名
int age; // 年龄
float height; // 身高
};
上面定义了一个叫做Student的结构体,共有name、age、height3个成员。看到这里是否有点面向对象的味道呢,其实这跟面向对象完全是两码事,只能说感觉有点像。
- #include <stdio.h>
- int main(int argc, const char * argv[]) {
- //定义一个iPhone结构体
- struct iphoe{
- char *color;
- float screenSize;
- int sn;
- int imei;
- }; //此处的分号不能省略
- //定义一个学生结构体
- struct Student{
- char name[20];
- char sex;
- int age;
- float score;
- int sno;
- };
- return 0;
- }
复制代码
|
|