C语言深度解剖-第一章-关键词

register

  • 因寄存器数量有限,所以数据优化到寄存器的变量有限,而不是放在内存中。
  • 因为变量不是放在内存中,所以不能用取址运算符 & 来获取register变量的地址。

static

修饰变量

静态全局变量

  • 此变量仅限于本文件,其他文件就算用extern也不能用。
  • 定义前引用,也需要extern。

静态局部变量

  • 在函数体里面定义。
  • 此变量存在于内存的静态区。
  • 同一个文件的其他函数也不可使用此变量

修饰函数

  • 不指代存储方式。
  • 函数的作用域仅限于本文件,称内部函数。
  • 作用:不同文件的同名函数,不会发生冲突。