解析C++中的字符串处理函数和指针

2020-01-06 13:50:19于丽

请务必弄清楚一个内存单元的地址与内存单元的内容这两个概念的区别。在程序中一般是通过变量名来对内存单元进行存取操作的。其实程序经过编译以后已经将变量名转换为变量的地址,对变量值的存取都是通过地址进行的。这种按变量地址存取变量值的方式称为直接存取方式,或直接访问方式。

还可以采用另一种称为间接存取(间接访问)的方式。可以在程序中定义这样一种特殊的变量,它是专门用来存放地址的。

上图是直接访问和间接访问的示意图。为了将数值3送到变量中,可以有两种方法:

直接将数3送到整型变量i所标识的单元中。

将3送到指针变量i_pointer所指向的单元(这就是变量i所标识的单元)中。见图

解析C++中的字符串处理函数和指针

所谓指向,就是通过地址来体现的。

由于通过地址能找到所需的变量单元,因此可以说,地址指向该变量单元。因此将地址形象化地称为“指针”,一个变量的地址称为该变量的指针。

如果有一个变量是专门用来存放另一变量地址(即指针)的,则它称为指针变量。指针变量的值(即指针变量中存放的值)是地址(即指针)。