1. Static的作用
static的本质是延长变量或函数的生命周期,同时限制其作用域。
static声明的全局变量、函数,仅当前文件内可用,其他文件不能引用。
static在函数内部声明的内部静态变量,只需初始化一次。
而且变量存储在全局数据段(静态存储区)中,而不是栈中,其生命周期持续到程序退出。
2. Typedef的作用
类型的重定义,可以对已有的类型重定义为新的类型名 构造类型 指针类型,typedef int * 函数指针
define特点:单纯替换(代替代码,表达式,常量,变量,数据类型,)原样替换,
typedef和define的区别 (宏定义,在预编译阶段就进行处理,简单的字符串代换,)
3. Const作用
const是常量化的意思;
可以修饰变量,可以修饰指针
当修饰变量的时候,因为不可以通过变量名对变量的值进行修改,所以在定义变量的时候需要给变量初始化,
当修饰指针的时候,const位置不同修饰的指针的指向或内容不能改变;变量前加不能。
4. Sizeof和strlen区别
strlen是函数,用于计算字符串的长度;不包含`\0`;
sizeof是关键字,用于计算变量所占内存空间的大小;当sizeof计算字符串长度的时候,包含`\0`;
5. 全局变量和局部变量的区别
定义:全局变量是定义在函数外部的变量,局部变量是定义在函数内部的变量
存储位置:全局变量存储在全局区,局部变量存储在栈区
作用域:全局变量可以在程序任意位置使用,局部变量只能在函数内部使用
生命周期:全局变量的声明周期为整个程序,程序结束空间释放,局部变量生命周期为本函数,函数结束空间释放。