第一种:定义数组类型:
格式:typedef type (name)[size];
例: typedef int(AINT5)[5];
typedef float(AFLOAT10)[10];
AINT5 A; //定义A数组,有五个整型的元素
第二种:定义函数的类型:
格式:typedef type name(parameter list):
例:
#include <stdio.h>
typedef int(FUNC)(int); //定义FUNC的函数类型
int test(int i) //test函数跟FUNC函数的类型一致
{
return i * i;
}
void f()
{
printf("Call f()...\n");
}
int main()
{
FUNC* pt = test; //pt指向与test函数类型一致的地址,所以可以将test赋值给pt
void(*pf)() = &f; //直接定义函数指针,与f函数的类型一致,将f函数赋值
pf();
(*pf)();
printf("Function pointer call: %d\n", pt(2));
}