##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‘ 的跨度:整个数组的占用字节数