typdef 和define的区别。
typdef int* int_ptr;
#define int* int_ptr;
我相信一看就知道了。
数组
typdef int carry[3];//嘿嘿,不知道了吧
实际上就是申明了一个数组。用法:
carry temp;
cout << typeid(temp).name();//输出结果是int [3]; 说明temp就是个int数组的别名。
函数
typdef int (*fun)(int);//这种写法早就见过了。嘿嘿看下面的
typdef int fun(int);//是否见过?。除了,使用时必须添加&符号外。。它还有个用处,就是在声明函数的时候,可以成为一个别名,但是有个缺点是,也仅仅是声明,只是表明有这个函数类型,定义的时候,还是要老老实实还原类型进行定义;
//int* (*a[5])(int, char*) 函数指针和指针函数已经有了解,从已有了解到a是一个5大小的函数指针数组,看下面这个。
//doube(*)() (*pa)[9]; 然而并没有区别。
看一段高级用法代码:
|
|
亮点一:返回函数指针,太棒了,以前都没用过。。
亮点二:typedef的使用可以对函数本体使用,但是使用的时候必须添加指针。
对了
要对结构体的用法,
struct mem {int a; int b; char c;} *mem_ptr;//基本完了。。。。嘿嘿!