自定义数据类型:关键字:typedef
c语言提供了一个叫做typedef的功能来声明一个已有的数据类型的新名。:
例如:typedef int Length;
使得Length成为int类型的别名。
这样,Length这个名字就可以代替int出现在变量定义和参数声明的地方了:
即:
Length a,b; 等同于 int a , b ;
#include<stdio.h>
typedef struct ADate{
int month;
int day;
int year;
}; Date // Date 为定义后的新名字,typedef 和 Date中间的所有东西都为原来的类型名字
// 即是 Date 等同于 struct ADate
只有最后一个单词才是定义的名字
联合:union
sizeof (union) = // sizeof(每个成员)的最大值
#include<stdio.h>
typedef union{
int i ;
char ch[sizeof(int)];
} CHI;
int main( int argc, char const *argv[])
{
CHI chi;
int i ;
chi.i = 1234;// 写入1234
for ( i = 0 ; i<sizeof(int); i++){//遍历数组
printf("%02hhX",chi.ch[i]);
}
printf("\n");
return 0 ;
}
通常使用这种union来得到一个整数内部的字节,也可以用这种方式得到一个double、float内部的字节
当要把一个整数用二进制的形式写入到数组内的时候,可以用union来做读写的一个中间媒介。