------Java培训、Android培训、iOS培训、.Net培训期待与您交流! -------
简介
typedef关键字用于:为各种数据类型定义一个新名字(别名)。
例如:#include <stdio.h>
typedef int Integer;
typedef unsigned int UInterger;
typedef float Float;
int main(int argc, const char * argv[]) {
Integer i = -10;
UInterger ui = 11;
Float f = 12.39f;
printf("%d %d %.2f", i, ui, f);
return 0;
}
还可以这样:
typedef int Integer;
typedef Integer MyInteger;
同样可以给指向变量的指针、结构体、枚举起别名。
甚至可以用于指向函数的指针:
#include <stdio.h>
// 定义一个sum函数,计算a跟b的和
int sum(int a, int b) {
int c = a + b;
printf("%d + %d = %d", a, b, c);
return c;
}
int main(int argc, const char * argv[]) {
// 定义一个指向sum函数的指针变量p
int (*p)(int, int) = sum;
// 利用指针变量p调用sum函数
(*p)(4, 5);
return 0;
}
可以写成
#include <stdio.h>
// 定义一个sum函数,计算a跟b的和
int sum(int a, int b) {
int c = a + b;
printf("%d + %d = %d", a, b, c);
return c;
}
typedef int (*MySum)(int, int);
int main(int argc, const char * argv[]) {
// 定义一个指向sum函数的指针变量p
MySum p = sum;
// 利用指针变量p调用sum函数
(*p)(4, 5);
return 0;
}
注意
- 给类型起别名,最好使用typedef,而不是使用#define。