易百教程

typedef语句

以下代码使用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