(*p)是固定写法,代表指针的变量P将来是指向函数
void (*p)();
p=test;//指针变量P指向了test函数
函数名test代表函数地址
//同等调用test()函数
(*p)();
p();
test();
int (*p)(int,int);
int sum(int a;int b){}
int c = (*p)(10,11);
p = sum;
int c = (*p)(10,11);
int c = p(10,11);
typedef 类型 类型别名;
类型可以是结构体 typedef struct 结构体名;
typedef struct student{int age;}Mystu;
Mystu stu = {20};
static 和 extern
外部函数:能被本文件和其他文件访问。
默认的都是外部函数(extern)
整个项目中,不可以有重名的外部函数
内部函数:只能被本文件访问(static)
允许不同文件中有同名的内部函数
外部变量 extern int a;
在函数定义外部变量extern不能去掉
static修饰局部变量
延长局部变量生命周期。程序结束才被销毁。
static int b = 0;//重复使用则忽略