##static的作用:
-修饰局部变量:
-局部变量只被初始化一次;
-局部变量在内存中只有一份内存,不会改变局部变量的作用域,但是会改变局部变量的生命周期(只有到程序结束,这个局部变 量才会销毁);
-修饰全局变量:
-使全局变量的作用范围仅在当前文件下有效,防止被外部引用串改。
##const的作用:
- const修饰的变量不能改变,如const int a = 10,a可读不可写;
- 关于const和指针,这里说一下:
首先还是一点,const修饰的变量不能改变,这里指的是它右边的变量,
const int *p:修饰的是*p,*p的值不能改, p可以改,同理 int const *p也是一样的;
int *const p : 修饰的是p,p的指向不能改, *p的值可以改;
const int *const p: *p的值不能修改, p的值也不能修改
##指针p的加减运算
-指针p + N
-p里面存储的地址值 + N * 指针所指向类型的占用字节数
-指着p - N
-p里面存储的地址值 - N * 指针所指向类型的占用字节数
##数组名
- 存储的是数组首元素的地址,等价于:一个指向数组首元素的指针
- ‘数组名+1’跨度:‘数组首元素’的占用字节数
- ’&数组名 + 1‘ 的跨度:整个数组的占用字节数