今天学了几个关键字,了解了它们的用法,在接下来的学习中还需要继续熟悉练习。
static:
1、全局静态变量:作用范围局限于它的源文件,只有本文件内的代码才可以访问,在其他文件内不可见。
2、局部静态变量:局限于特定函数,但出作用于不释放,在函数体内的静态变量的值也能够维持。
3、静态函数:作用范围仅限于它的源文件,只有本文件内才能调用,函数名在其他文件不可见。
4、存放位置:程序开始时,存放在全局数据区,结束时释放空间
const:const修饰的值是只读的变量。
1、修饰只读变量:具有不可变性,不可更改 例如const int m ;char str【m】= {0};
2、修饰一般变量:一般变量是简单类型的只读变量,const可放在类型前也可放在类型后,例:int const i=2;const int i = 2
3、修饰数组:定义一个只读数组 例如:int const a【3】={0};const int a【3】={0}
4、修饰指针:const int *p; p可变 *p不可变 int const *p; p可变 *p不可变
int *const p; p不可变,*p可变 const int *const p p不可变,*p不可变
5、修饰函数的参数:void fun(const int *p) *p在函数完成释放内存时 不会改变
6、修饰函数的返回值:返回值不可被改变
extern:extern可以置于变量或函数前,以表明变量或函数的定义在别的文件中,下面代码用到的这些变量或函数是 外来的,不是本文件定义的,提示链接器遇到此变量和函数时在其他模块中解析/绑定此标识符。
struct:定义一个结构体变量,存放不同类型的数据,结构体占用的内存大于其所有成员内存之和(存在缝隙)
enum:枚举,例:enum week{Mon=1,Tues,Wed, Thurs, Fri, Sat, Sun } a, b, c;
union:共用体占用的内存等于最长的成员占用的内存,同一时刻只能保存一个成员的值,对新成员赋值,会把原来 成员值覆盖,因此可以凭此判断大小端