第8章指针 如图8-1所示,设有字符变量C,其内容为K (ASCI码为十进制数75),C占用了0110H号单元(地址 用十六进制表示)。当有指针变量P,内容为0110H时 我们称为“P指向变量C〃或者“P是指向变量C的指 针 严格地说,一个指针是一个地址,是一个常量, 而一个指针变量却可以被赋予不同的指针值,是变量 但通常把指针变量简称为“指针”。为了避免混淆, 我们约定:“指针”是指地址,是常量,“指针变量” 是指取值为地址的变量。定义指针的目的是为了通过 指针去访问内存单元。 Ba
第8章 指针 如 图 8-1 所 示 ,设 有字 符 变量 C , 其内 容为 K (ASCII码为十进制数75),C占用了0110H号单元(地址 用十六进制表示)。当有指针变量P,内容为0110H时, 我们称为“P指向变量C”或者“P是指向变量C的指 针” 。 严格地说,一个指针是一个地址,是一个常量, 而一个指针变量却可以被赋予不同的指针值,是变量。 但通常把指针变量简称为“指针” 。为了避免混淆, 我们约定: “指针”是指地址,是常量, “指针变量” 是指取值为地址的变量。定义指针的目的是为了通过 指针去访问内存单元
第8章指针 既然指针变量的值是一个地址,那么这个地址不 仅可以是变量的地址,而且也可以是其他数据结构的 地址。在一个指针变量中存放一个数组或一个函数的 首地址有何意义呢?因为数组或函数都是连续存放的 所以通过访问指针变量取得了数组或函数的首地址 也就找到了该数组或函数。这样一来,凡是出现数组、 函数的地方都可以用一个指针变量来表示,只要该指 针变量中赋予数组或函数的首地址即可。这样做,将 会使程序的概念十分清楚,程序本身也精练、髙效 Ba
第8章 指针 既然指针变量的值是一个地址,那么这个地址不 仅可以是变量的地址,而且也可以是其他数据结构的 地址。在一个指针变量中存放一个数组或一个函数的 首地址有何意义呢?因为数组或函数都是连续存放的, 所以通过访问指针变量取得了数组或函数的首地址, 也就找到了该数组或函数。这样一来,凡是出现数组、 函数的地方都可以用一个指针变量来表示,只要该指 针变量中赋予数组或函数的首地址即可。这样做,将 会使程序的概念十分清楚,程序本身也精练、高效
第8章指针 在C语言中,一种数据类型或数据结构往往都占 有一组连续的内存单元。用“地址”这个概念并不能 很好地描述一种数据类型或数据结构,而“指针”虽 然实际上也是一个地址,但它却是一个数据结构的首 地址,它是“指向”一个数据结构的,因而概念更为 清楚,表示更为明确。这也是引入“指针”概念的 个重要原因 Ba
第8章 指针 在C语言中,一种数据类型或数据结构往往都占 有一组连续的内存单元。用“地址”这个概念并不能 很好地描述一种数据类型或数据结构,而“指针”虽 然实际上也是一个地址,但它却是一个数据结构的首 地址,它是“指向”一个数据结构的,因而概念更为 清楚,表示更为明确。这也是引入“指针”概念的一 个重要原因
第8章指针 82指针变量的定义与引用 82.1指针变量的定义 指针变量定义的一般形式为 类型说明符*指针变量名; 其中,*为说明符,表示这是一个指针变量;指针 变量名为用户自定义标识符;类型说明符表示该指针 变量所指向的变量的数据类型。 Ba
第8章 指针 8.2 指针变量的定义与引用 8.2.1 指针变量的定义 指针变量定义的一般形式为 类型说明符 *指针变量名; 其中, *为说明符,表示这是一个指针变量;指针 变量名为用户自定义标识符;类型说明符表示该指针 变量所指向的变量的数据类型
第8章指针 例如: int * pl 该定义表示pl是一个指针变量,它的值是某个整 型变量的地址,或者说p1指向一个整型变量。至于pl 究竟指向哪一个整型变量,应由向pl赋予的地址来决 定。对于指针变量的类型说明应包括以下三个方面的 内容: (1)指针类型说明,即定义变量为一个指针变量 (2)指针变量名。 (3)变量值,即指针变量所指向变量的地址 Ba
第8章 指针 例如: int *p1; 该定义表示p1是一个指针变量,它的值是某个整 型变量的地址,或者说p1指向一个整型变量。至于p1 究竟指向哪一个整型变量,应由向p1赋予的地址来决 定。对于指针变量的类型说明应包括以下三个方面的 内容: (1) 指针类型说明,即定义变量为一个指针变量。 (2) 指针变量名。 (3) 变量值,即指针变量所指向变量的地址