C语言内功强化之修饰关键字
1.auto
2.register
将定义的变量放入寄存器中,比访问内存的效率能高。但是CPU的寄存器有限,不一定可以做到。
加入register修饰的变量无法通过&来访问地址,即使放入寄存器失败,大概率也不会给你寻址
#include "stdio.h"int main(void)
{register char a =1;printf("%d,%d",a,&a);return 0;
}
3.static
作用:1.局部变量的内存从静态全局数据区分配 2.规定局部变量or函数的作用域
4.extern
修饰一个没有被static修饰的变量或者函数,在架构设计中尽量不要使用extern
5.const
被修饰的还是变量但是是 only read,不可以修改
使用方法:const char 或者 char const;
#include "stdio.h"int main(void)
{const int a = 1;char const b =2;a=32;printf("%d,%d",a,b);return 0;}
但是可以通过指针越界的方式修改(我没有修改成功)
#include "stdio.h"int main(void)
{int a = 1;int const b =2;int* p = &a;p[1] = 1;printf("%p,%p\r\n",a,b);printf("%d,%d",a,b);return 0;}