首页 > 代码库 > C和C++中的typedef的作用
C和C++中的typedef的作用
C和C++中的typedef的作用
C和C++中的typedef的作用是定义一个类型的别名。其用法如下:
(1)typedef int Elemtype;基本用法 作用是定义int的别名Elemtype。
(2)typedef int arr[100]; 定义一个数组的别名arr,arr的类型是长度为100的整型数组,此后用arr定义的都是长度为100的int数组。
(3)typedef struct node{ }Node; 定义一个结构体的别名,此后可以用Node代替struct node定义结构体变量。
(4)typedef int (*pf)(int); 定义一个指针类型的别名pf,此后pf定义的都是指向函数的指针,且只能指向有一个int型参数的类型为int型函数。
int fun(int x)
{
return x;
}
pf p;
p=fun;
(5)typedef int* (*pf)(int); 定义一个指针类型的别名pf,此后pf定义的都是指向函数的指针,且只能指向有一个int型参数的类型为int *的函数。
int* fun(int x)
{
return &x;
}
pf p;
p=fun
从typedef别名的作用域看C++与C的安全性区别(转)
以前我知道可以用typedef来为类型起个别名,如“typedef long INDEX;”。给long这样的类型起别名主要目的不是简化程序的书写,它有两个用处:一是表明该类型的特殊作用,二是将来有可能要改变这种类型(比如提高精度),如果直接声明为long型则失去了程序的可惟护性——每一个变量的声明都要改动;而声明为INDEX则使维护程序变得十分简单——只要改一下typedef语句即可。 MyClass::GetSize() const; |
C和C++中的typedef的作用