C和指针

1.指针数据类型

变量的值存储于计算机的内存中,每一个变量占据一个特定的位置,每一个内存位置都由地址惟一肯定并引用。指针只是 地址的另外一个名字罢了。指针变量就是一个其值为另外一个内存地址的变量。程序员

1.1 指针常量函数

指针常量与非指针常量在本质上是不一样的,由于编译器负责把变量赋值给计算机内存中的位置,程序员事先没法知道某个特定的变量将存储到内存的哪一个位置。所以,你经过操做符得到一个变量的地址而不是直接把它的地址写成字面值常量的形式。事实上,当一个函数每次被调用时,它的自动变量(局部变量)可能每次分配的 内存位置都不相同,所以把指针常量表达为数值字面值的形式几乎没有用处,因此C语言内部没有特意定义这个概念。指针

1.2 static关键字blog

当用于不一样的上下文环境时,static关键字具备不一样的意思。内存

  • 当它用于函数定义时,或用于代码块以外的变量声明时,static关键字用于修改标识符的连接属性,从external改成internal。但标识符的存储类型和做用域不受影响。用这种方式声明的函数或变量只能在声明它们的源文件内访问。
  • 当它用于代码块内部的变量声明时,static关键字用于修改变量的存储类型,从自动变量修改成静态变量,但变量的连接属性和做用域不受影响。用这种方式声明的变量在程序执行以前建立,并在程序的整个执行期间一直存在,而不是每次在代码块开始执行时建立,在代码块执行完毕后销毁。

相关文章
相关标签/搜索