自定义的类型名一般要大写, 以提示这是自命名的类型.
1. 把 unsigned long 更名为 UINT:
#include <stdio.h> int main(void) { typedef unsigned long UINT; UINT num = 1234567890; printf("%lu\n", num); getchar(); return 0; }
2. 给一个结构重命名:
#include <stdio.h> int main(void) { struct Rec { char c; int i; long d; }; typedef struct Rec MYREC; MYREC r1; r1.c = 1; r1.i = 2; r1.d = 3; printf("%d, %d, %d\n", r1.c, r1.i, r1.d); printf("结构大小: %u, %u, %u", sizeof(struct Rec), sizeof r1, sizeof(MYREC)); getchar(); return 0; }
3. 把整数指针定义为: PINT:
#include <stdio.h> int main(void) { typedef int * PINT; int num = 123; PINT p = # printf("%d, %p\d", *p, p); getchar(); return 0; }
4. 同时用于结构定义:
#include <stdio.h> int main(void) { struct Rec1 { int x,y; } r1 = {11, 22}; /* 同时定义了变量 r1 */ typedef struct Rec2 { double a,b; } REC3; /* 此时的 REC3 不是变量, 而是新定义的类型*/ REC3 r2 = {1.1, 2.2}; printf("%d, %d\n", sizeof(struct Rec1), sizeof(struct Rec2)); printf("%d, %d, %d\n", sizeof(REC3), sizeof r1, sizeof r2); printf("\n%d, %d", r1.x, r1.y); printf("\n%g, %g", r2.a, r2.b); getchar(); return 0; }