变量特性 ●存储空间的位置:内存首地址——变量名 存储空间的大小:数据类型—变量类型 ●存储的内容:数据值——变量值 生存周期:存储类别 电子科技大学通信与信息工程学院
电子科技大学通信与信息工程学院 变量特性 ⚫ 存储空间的位置:内存首地址——变量名 ⚫ 存储空间的大小:数据类型——变量类型 ⚫ 存储的内容:数据值——变量值 ⚫ 生存周期:存储类别
变量的访问方式 ●直接访问:直接通过变量的地址(变量名) 来操作对应的内存单元 ●变量名在编译时会被绑定到相应的地址 ●间接访问:将变量n的地址存放在另一个变 量p中,要访问变量n,可以通过首先访问 变量p,从中获得变量n的地址,再根据地 址访问变量n 803A 803E 2.12 803A 变量n变量c变量p 电子科技大学通信与信息工程学院
电子科技大学通信与信息工程学院 变量的访问方式 ⚫ 直接访问:直接通过变量的地址(变量名) 来操作对应的内存单元 ⚫ 变量名在编译时会被绑定到相应的地址 ⚫ 间接访问:将变量n的地址存放在另一个变 量p中,要访问变量n,可以通过首先访问 变量p,从中获得变量n的地址,再根据地 址访问变量n 2.12 z 803A ... 803A 变量n 变量p 803E 变量c
间接访问 ●关键问题: 如何定义P? 指针变量P中存放 ●如何获得变量n的地址? 着变量n的首地址 (803A)—指针 如何通过p访问n? 变量p指向变量n 变量地址又被称为变量的“指针” ●存放变量地址的变量——一指针变量 ●例:指针变量 803A 803E 2.12 803A 变量n变量c变量p 电子科技大学通信与信息工程学院
电子科技大学通信与信息工程学院 间接访问 ⚫ 关键问题: ⚫ 如何定义P? ⚫ 如何获得变量n的地址? ⚫ 如何通过p访问n? ⚫ 变量地址又被称为变量的“指针” ⚫ 存放变量地址的变量——指针变量 ⚫ 例:指针变量 2.12 z 803A ... 803A 变量n 变量p 803E 变量c 指针变量P中存放 着变量n的首地址 (803A)——指针 变量p指向变量n
指针变量的定义和引用 ●指针变量定义格式: 类型说明*指针变量名; 指针说明符,说明定义的变量是一个指向某种类型变 量的指针 类型说明:又称为指针变量的基类型,表明指针指向的变 量的数据类型(指针变量所内存放的是哪种类型变量的地 intp;/变量p是一个指向整型变量的指针变量* ●char*ps;/变量ps是一个指针变量,它存放的是字符型变 量的地址* ● float *pf;/变量pf是一个指向浮点型变量的指针变量* 电子科技大学通信与信息工程学院
电子科技大学通信与信息工程学院 指针变量的定义和引用 ⚫ 指针变量定义格式: 类型说明 *指针变量名; ⚫ *:指针说明符,说明定义的变量是 一个指向某种类型变 量的指针 ⚫ 类型说明:又称为指针变量的基类型,表明指针指向的变 量的数据类型(指针变量所内存放的是哪种类型变量的地 址) ⚫ 例: ⚫ int *p; /*变量p是一个指向整型变量的指针变量*/ ⚫ char *ps; /*变量ps是一个指针变量,它存放的是字符型变 量的地址*/ ⚫ float *pf; /*变量pf是一个指向浮点型变量的指针变量*/
指针变量的定义和引用 ●指针变量赋值 指针变量的值是一个无符号整型值,但不能将整 型常量直接赋值给指针变量 ●赋值方法1:用变量的地址给指针变量赋值 ●变量的地址如何获得?—取值符号& ●变量的类型要与指针变量的类型一致 ●赋值方法2:相同类型的指针变量间可以赋值 例 int a,bi int *p p=&a;/*方法1*/ q=p;/*方法2*/ 电子科技大学通信与信息工程学院
电子科技大学通信与信息工程学院 指针变量的定义和引用 ⚫ 指针变量赋值 ⚫ 指针变量的值是一个无符号整型值,但不能将整 型常量直接赋值给指针变量 ⚫ 赋值方法1:用变量的地址给指针变量赋值 ⚫ 变量的地址如何获得?——取值符号& ⚫ 变量的类型要与指针变量的类型一致 ⚫ 赋值方法2:相同类型的指针变量间可以赋值 ⚫ 例: int a,b; int *p, *q; p = &a; /*方法1*/ q = p; /*方法2*/