c语言好多语法,看了不用就忘,忘了不看就废。
今天写写对函数的别名例子,记录一下,以防忘记
#include <stdio.h>
int add(int x, int y)
{
return (x + y);
}
int multiply(int x, int y)
{
return x*y;
}
typedef int (*Cac)(int , int);
int main()
{
int result;
Cac ca[2] = {&add, &multiply};
result = ca[0](4, 6);
printf("add %d\n", result);
result = ca[1](4, 6);
printf("multiply %d\n", result);
Cac c = &add;
result = c(4, 6);
printf("add %d\n", result);
return (0);
}
如果把代码中Cac c修改成static Cac c后,看看和static int add(int x, int y)的区别
static int add(int x, int y)直接定义了一个模块范围内的函数,在该模块以外不可以引用它。
而static Cac c定义了一个函数类型Cac, 然后定义了一个模块范围内的Cac类型的静态变量c。