函数类型的定义格式为:typedef 返回值类型 (*函数类型名称)(参数类型列表); 其中,括号内的部分表示函数指针类型,类似于int *(*p)(int),表示一个指向返回值类型为int*,参数类型为int的函数指针变量p。而函数类型名称则是我们自己定义的一个名称,可以代替指针变量p,并且不需要每次都写出返回值类型和参数类型列表。
typedefint(*MYFUN)(int, int); 这种用法一般用在给函数定义别名的时候 上面的例子定义MYFUN是一个函数指针, 函数类型是带两个int 参数, 返回一个int 在分析这种形式的定义的时候可以用下面的方法: 先去掉typedef 和别名,剩下的就是原变量的类型. 去掉typedef和MYFUN以后就剩: int (*)(int, int) 简单的函数...
1.宏定义在编译前完成替换,相当于直接插入代码,替换之后的代码参与编译,运行时不存在函数调用,运行就更快。函数调用就需要跳转到具体的函数,速度就更慢。 2.宏定义直接插入代码,没有返回值。函数有返回值。 3.宏定义没有参数类型检测,函数有参数类型检测。 4.宏定义后不加分号。 --- 1.宏主要用于定义常量及...