C Programming Language>第七章 指针变量所包含的是内存地址,而该 地址便是另一个变量在内存中的存储位 置。指针就是地址,通过指针可以达到 间接存取目标的目的 要正确区分: 外指针与指针变量这两个概念 U bajia( ustc, odILcm 8:
指针变量所包含的是内存地址,而该 地址便是另一个变量在内存中的存储位 置 。指针就是地址,通过指针可以达到 间接存取目标的目的。 要正确区分: 指针与指针变量这两个概念!
C Programming Language>第七章 72指针运算符“&”和“” “&”:取地址符,其操作数可以是各种类型 的简单变量、数组元素、结构成员,不能用于 表达式、常量和寄存器变量,是描述变量地址 的工具。属单目运算符。如: ntx; scanf(“%”,&x); 设 给出变量的存储单元的地址,作为 存放键盘输入数据的指针,将数据存 入变量x的存储单元之中 U bajia( ustc, odILcm 8:
7.2 指针运算符“&”和“*” “&”:取地址符,其操作数可以是各种类型 的简单变量、数组元素、结构成员,不能用于 表达式、常量和寄存器变量,是描述变量地址 的工具。属单目运算符。如: int x; scanf(“%d”, &x ); 给出变量的存储单元的地址,作为 存放键盘输入数据的指针,将数据存 入变量x的存储单元之中
C Programming Language>第七章 “*”:指针运算符(或称“间接访问”运算 符)。属单目运算符。作用 ◎定义说明指针变量。 int i k,米 pointer; 设 当指针运算符出现在定义说明语句中时, 说明其后的标识符为存放地址的变量,系统 为其分配相应的存储单元。 U≤ bajia( ustc, odILcm 8:
“*”:指针运算符(或称“间接访问”运 算 符)。属单目运算符。 作用: 定义说明指针变量。 当指针运算符出现在定义说明语句中时, 说明其后的标识符为存放地址的变量,系统 为其分配相应的存储单元。 int i, j, k, *i_pointer;
C Programming Language>第七章 “*”:指针运算符(或称“间接访问”运算 符)。属单目运算符。作用 ◎通过其操作数(指针)实现“间接访问”存 储单元的数据 i pointer=&i, k =*i pointer 设 是将指针 i pointer所指的存储单元的内容赋给变量k ,实际上是对变量i的间接存取。* pointer意为指 针变量 i_pointer.所指的变量,相当于变量代表值。 U bajia( ustc, odILcm 8:
“*”:指针运算符(或称“间接访问”运 算 符)。属单目运算符。 作用: 通过其操作数(指针)实现“间接访问”存 储单元的数据。 是将指针i_pointer所指的存储单元的内容赋给变量k ,实际上是对变量i的间接存取。*i_pointer意为指 针变量i_pointer所指的变量,相当于变量i代表值。 i_pointer=&i; k = *i_pointer;
C Programming Language>第七章 k=*i point 等价 k=i 只是存取方式不同 * i pointer可出现在变量能出现的任何地方。 k=(* 1 point)++;<等价k=i++; 只是存取方式不同 此*要求其操作教具有指针意义的值 U bajia( ustc, odILcm 8:
*i_pointer可出现在变量i能出现的任何地方。 ‘*’要求其操作数具有指针意义的值! k *i_point; k i; = ⎯⎯⎯→ = 等价 只是存取方式不同 k *i_point; k i; = ⎯⎯⎯→ = 等价 只是存取方式不同 k *i_point) ; k i ; = ( + + ⎯⎯⎯⎯→ = + + 等价 只是存取方式不同 k *i_point) ; k i ; = ( + + ⎯⎯⎯⎯→ = + + 等价 只是存取方式不同