- 一、类型定义
C语言自定义数据类型 (typedef)
C语言提供一个叫做typedef的功能来声明一个已有的数据类型的新名字。
typedef int Length;
使得Length成为int类型的别名。
这样,Length就可以替代int出现在定义变量和声明函数的地方了。
Length a,b;
Length a[10];
新的类型的名字是原来类型的别名;改善了程序的可读性。
typedef struct {
int day;
int month;
int year;
} Date; //声明了一种结构类型,它的别名是Date
- 二、联合
存储
所有的成员共享一个空间。
同一时间只有一个成员是有效的。
union的大小是其最大的成员。
初始化
对第一个成员初始化
union AnElt{
int i;
char c;
} AnElt1,AnElt2;
sizeof (union ...) //sizeof 每个成员的最大值
1 #include<stdio.h> 2 3 typedef union { 4 int i; 5 char ch[sizeof(int)]; 6 } CHI; 7 8 int main(int grc,const char *grv[]) 9 { 10 CHI chi; 11 int i; 12 chi.i = 1234; 13 for(i=0 ; i<sizeof(int) ; i++){ 14 printf("%02hhX",chi.ch[i]); 15 } 16 printf(" "); 17 18 return 0; 19 }