c语言提供的关键字
1.c语言提供的,不能自己创建关键字
2.变量名不能是关键字
auto 是自动的,每个局部变量都是auto修饰的
extern 是用来申明外部符号
例如:
其中g_val为全局变量
而extern用来声明外部符号
全局变量在整个工程中都可以使用
register 寄存器关键字
signed 有符号的 10 -20
unsigned 无符号的
static 静态的
1.修饰局部变量,改变了局部变量的生命周期(本质上是改变了变量的储存类型)
举例:在未加static前
加上static后
加上static修饰后,出发范围a变量不销毁,生命周期变长了。
扩展,栈区(局部变量,函数的参数)
堆区(动态内存分配的)
静态区(全局变量,static修饰的静态变量)
static 修饰全局变量,使得这个全局变量只能在自己所在的原文件(.c)内部可以使用其他源文件不能使用。
全局变量,在其他源文件内部可以使用,是因为全局变量具有外部链接属性
但是被static修饰之后,就变成了内部链接属性,其他源文件不能链接到这个静态的全局变量。
例2.
static修饰函数,使得函数只能在自己所在源文件内部使用,不能在其他源文件内部使用
本质上:static是将函数的外部链接属性变成了内部链接属性;(和static修饰全局变量一样)
union 联合体(共用体)
viod 无或者空
volatile c语言暂时不讲
define和include是不是关键字 答案是否定的,no----预处理指令
typedef 类型重命名
其中 unsigned int 等于