第6章指针与字符串 H 还可以采用另一种称之为“间接访问”的方式。这类 似于在程序中定义整型、实型、字符等变量,也可以 定义这样一种特殊的变量,它是用来存放地址的,即 可以将变量的地址存放在另一个内存单元中。假设我 们定义了变量ⅰ pointer是存放整型变量的地址的,它被 分配为3030、3031字节单元。可以通过下面的语句将i 的地址存放到 I pointer中: 1 pointer=&i 这时, 1 pointer的值就是2000,即变量i所占用单元 的起始地址
第6章 指针与字符串 还可以采用另一种称之为“间接访问”的方式。这类 似于在程序中定义整型、实型、字符等变量,也可以 定义这样一种特殊的变量,它是用来存放地址的,即 可以将变量i的地址存放在另一个内存单元中。假设我 们定义了变量i_pointer是存放整型变量的地址的,它被 分配为3030、3031字节单元。可以通过下面的语句将i 的地址存放到i_pointer中: i_pointer=&i; 这时,i_pointer的值就是2000,即变量i所占用单元 的起始地址
第6章指针与字符串 H 要存取变量i的值,也可以采用间接方式:先找到 存放“i的地址”的单元地址(3030、3031),从中获得i 的起始地址(2000),然后从2000、2001字节中取出i 的值(3)。 简而言之,指针就是指向内存中某个单元的地址 值。所有的变量、数组、对象都是保存在内存中的。 凡是保存在内存中的信息,必须知道它在内存中的位 置。在计算机中,引用了“地址”这个词来代表内存 的某个位置。内存以字节为单位编址,称为内存地址。 BACK
第6章 指针与字符串 要存取变量i的值,也可以采用间接方式:先找到 存放“i的地址”的单元地址(3030、3031),从中获得i 的起始地址(2000),然后从2000、2001字节中取出i 的值(3)。 简而言之,指针就是指向内存中某个单元的地址 值。所有的变量、数组、对象都是保存在内存中的。 凡是保存在内存中的信息,必须知道它在内存中的位 置。在计算机中,引用了“地址”这个词来代表内存 的某个位置。内存以字节为单位编址,称为内存地址
第6章指针与字符串 H 62指针型变量 62.1指针型变量的声明 在C+语言中,任何一种数据类型都有对应的指针 类型,甚至指针类型本身也有指针类型。要声明一种 数据类型的指针型变量,必须在声明变量时将“*”号 加在数据类型的后面。定义指针变量的一般形式如下 <类型标识符>*指针变量名
第6章 指针与字符串 6.2 指针型变量 6.2.1指针型变量的声明 在C++语言中,任何一种数据类型都有对应的指针 类型,甚至指针类型本身也有指针类型。要声明一种 数据类型的指针型变量,必须在声明变量时将“*”号 加在数据类型的后面。定义指针变量的一般形式如下: <类型标识符>*指针变量名
第6章指针与字符串 H 定义中的“*”表示所定义的变量是一个指针变量, 以示与其它变量的区别。指针变量名的命名应符合标 识符的命名规则。指针变量的值是另一变量的指针(即 首地址)。定义中的数据类型是指针变量所指变量的数 据类型 注意,一个指针变量只能指向定义所指定数据类 型的变量,即存放定乂所指定数据类型的变量的地址, 因此,指针变量所存放的地址是一个具有指定数据类 型的地址。例如
第6章 指针与字符串 定义中的“*”表示所定义的变量是一个指针变量, 以示与其它变量的区别。指针变量名的命名应符合标 识符的命名规则。指针变量的值是另一变量的指针(即 首地址)。定义中的数据类型是指针变量所指变量的数 据类型。 注意,一个指针变量只能指向定义所指定数据类 型的变量,即存放定义所指定数据类型的变量的地址, 因此,指针变量所存放的地址是一个具有指定数据类 型的地址。例如:
第6章指针与字符串 H int*pnNumber / inUmber是用来保存一个指向int型 变量的指针的指针型变量 flad* pfrealNumber;/ pfRealNumber是用来保存一个指向 float型变量的指针的指针型变量 BOOL* reSult;/ reSult是保存一个指向int型变量 的指针的指针型变量,注意BOOL型 与jint型的共用特性
第6章 指针与字符串 int*pnNumber; //pnNumber是用来保存一个指向int型 变量的指针的指针型变量 f1oad*pfRealNumber; //pfRealNumber是用来保存一个指向 float型变量的指针的指针型变量 BOOL*pbResult; //pbResult是保存一个指向int型变量 的指针的指针型变量,注意BOOL型 //与int型的共用特性