关于C语言的指针(1):
指针变量与间接访问:
指针变量是与储存地址的储存单元绑定的变量,其的数值是储存单元的地址,间接访问过程是指通过指针变量的数值获取指针变量的值所指的储存单元的内容的过程,间接访问过程需要两次储存器访问操作:第一次是访问与指针变量绑定的储存单元获取指针变量的数值,之神变量的值是另一个储存单元的地址,第二次是一之神变量的十位地址,访问指针变量的数值所指向的储存单元,获取指针变量的值所指向的储存单元的内容。
指针的含义
在间接访问的过程中,仅仅根据地址变量P1绑定的储存单元的内容是无法实现间接访问的,因为与地址变量P1把规定的储存单元的内容只是储存单元地址,用于唯一识别存储器中的某个存储单元,而是实现间接访问,需要确定抵制标识的存储单元内容所表示的数据类型,只有确定地址标识的储存单元内容所表示的数据类型,蔡锷能确定表示该类型数据的二进制数的数位,并因此确定存储给类型数据所需要的存储空间单元数,同时确定该类型数据的二进制数表示方式,故需要确定一下信息:
- 存储该数据的一组存储单元的起始地址
- 存储该数据的存储单元数量
- 该数据的二进制表示方式
将实现间接访问过程所需要的信息组合成为指针,因此指针具有双重属性,即数值和类型。指针的数值是存储单元地址,用于确定存储数据的一组存储单元的起始地址。指针的类型用于确定储存在指针的数值所表示的储存单元中的数据的类型,并因此去欸的那个存储该类型的数据所需要的存储单元数量和改了剋型数据的二进制数表示方式,通过指针间接方位到的数据成为指针指向的数据。