一、类型定义
类型定义(type definitions)是使用typedef作为关键字将一种数据类型定义为一种新类型的过程。格式:
typdef 旧类型名 新类型名
(1)类型定义是为已有类型定义了一个别名;
(2)可用新类型名定义变量;
二、结构类型
结构是一组相关元素的集合,其中的元素又称成员,成员可以同类型也可不同类型(可将结构想象成一个二维数表理解,以下提到的结构变量是行名,成员是列名)
1、结构的声明,和函数声明类似,格式为:
struct 结构名
{类型1 结构成员名1;
类型2 结构成员名2;
,, ,,,,
类型n 结构成员名n;
};(分号结尾)
2、定义结构变量(行名)三种方法:
先声明类型后定义变量;
声明结构的同时定义变量;
使用typedef定义的类型名来定义变量;
3、结构指针:和标准类型的指针定义一样
三、结构的处理
1、结构变量的初始化:与数组初始化类似:
结构类型 变量名 ={值列表}
2、访问结构成员
通过结构变量来访问结构成员:结构变量名.成员名(点是成员运算符,不能省;)
通过结构指针访问结构成员(两种方式):(*指针名).成员名;指针名->成员名
下面是一个简单例子,可对应理解:
#include <stdio.h>
//结构声明
typedef struct
{
int x;
float y;
char c;
}SAMPLE;
int main()
{
SAMPLE sam={-1,1.5,'A'};//定义结构变量并赋初值
printf("%d, %.1f, %c\n",sam.x,sam.y,sam.c);//结构成员的访问输出
sam.c='?';//结构成员的访问并处理(重新赋值)
printf("%d, %.1f, %c\n",sam.x,sam.y,sam.c);
return 0;
}