以下代码使用typedef
语言重新定义int
类型。参考以下示例代码:
#include <stdio.h>
typedef int myInt;
myInt main()
{
myInt a = 2; // 可以理解为:myInt 就是 int 的别名
printf("计算结果如下:");
printf("%d + %d = %d\n",a,a,a+a);
return(0);
}
编译和执行上面示例代码,得到以下结果:
hema@ubuntu:~/book$ gcc main.c
hema@ubuntu:~/book$ ./a.out
计算结果如下:2 + 2 = 4
typedef
语句将单词myInt
定义为与关键字int
相同。在代码中可以使用int
的地方,都都可以使用单词myInt
。
typedef
最常用于定义结构。例如,以下代码显示了声明嵌套在第三个中的两个结构。
示例代码
#include <stdio.h>
#include <string.h>
int main()
{
typedef struct id
{
char first[20];
char last[20];
} personal;
typedef struct date
{
int month;
int day;
int year;
} calendar;
struct human
{
personal name;
calendar birthday;
};
struct human president;
strcpy(president.name.first, "小龙");
strcpy(president.name.last, "李");
president.birthday.month = 2;
president.birthday.day = 22;
president.birthday.year = 1946;
printf("%s %s 出生于 %d/%d/%d\n",\
president.name.last,
president.name.first,
president.birthday.year,
president.birthday.month,
president.birthday.day);
return(0);
}
编译并执行上面示例代码,得到以下结果:
hema@ubuntu:~/book$ gcc main.c
hema@ubuntu:~/book$ ./a.out
李 小龙 出生于 1946/2/22