初识常见关键字
typedef:类型定义(类型重定义)简单来说就是重命名
就是如何把常语句简单化,只需在函数前给上一个typedef unsigned int u_int;就可以直接把这个类型重新起了个新名字u_int,这个简写就和原本的是一样的意思
static:静态的(有3种用法)
1.static修饰局部变量,改变了局部变量的生命周期(本质上是改变了变量的储存类型)
由栈区的局部变量变成了static修饰的静态区的静态变量
这里a印出来的是10个2,因为a所在的是局部变量,出来这个局部程序后就自动销毁所以打印出来的是10个2
为什么这里a打印出来的是2-11,而不是10个2呢
因为这里的static这个关键字修饰了这个局部变量,让这个局部变量出了这个范围而不被销毁,延长了局部变量的生命周期,从局部变量变成“全局变量”
2.static修饰全局变量
static修饰全局变量,使得这个全局变量只能在自己的源文件(.c)其他源文件不能使用
全局变量在其他源文件内部可以被使用,是因为全局变量具有外部链接属性,但是被static修饰之后,就变成了内部链接属性,其他源文件就不能链接到这个静态的全局变量
3.static修饰函数
static修饰函数,使得函数只能自己的源文件使用,不能在其他源文件内部使用
本质上:static是将函数的外部链接变成了内部链接属性!(和static修饰全局变量一样)