c语言知识
1.extern和static
extern可以用来声明一个外部函数或外部变量, 其他文件可以访问这个函数或变量;
static可以用来声明一个内部函数或内部变量(全局变量), 其他文件可以不访问这个函数或变量;
static修饰局部变量只是改变了这个变量的生命周期,但是没有改变其作用域;
static修饰全局变量限制了变量的作用域.
2.enum枚举类型
enum 其实是一个整型
enum season {spring, summer, autmn, winter};
enum season s = spring; //s=0;
s = winter; //s=3;
3.typedef与指向函数的指针
int sum(int a, int b)
{
return a + b;
}
int (*p)(int, int); //定义一个指向函数的指针,也可以 int (*p)(int, int) = sum;
p = sum; //指向sum函数
(*p)(4, 5); //象这样调用, 结果为9
这样做很麻烦, 我们可以用typedef
typedef int (*SumPoint)(int, int); //给指向函数的指针定义一个别名SumPoint
SumPoint p = sum; //可以用这个别名来声明一个指向函数的指针变量
(*p)(5, 6); //结果为11