
第6章指针>6.1地址与指针>6.2指针运算>6.3指针与数组>6.4动态存储分配>6.5指针数组>6.6指向指针的指针>6.7指针的初始化
0 第6章 指针 ➢6.1 地址与指针 ➢6.2 指针运算 ➢6.3 指针与数组 ➢6.4 动态存储分配 ➢6.5 指针数组 ➢6.6 指向指针的指针 ➢6.7 指针的初始化

6.1地址与指针地址从拓扑结构上看,计算机的内存像一个巨大的一维数组:每个数组元素是一个内存单元。每个内存单元都有一个编号,称为地址。地址用一个无符号的整数表示。运行程序时,要将程序本身以及相关数据都放入内存中
1 6.1 地址与指针 一、地址 • 从拓扑结构上看,计算机的内存像一个巨大的一维 数组;每个数组元素是一个内存单元。 • 每个内存单元都有一个编号,称为地址。 • 地址用一个无符号的整数表示。 • 运行程序时,要将程序本身以及相关数据都放入内 存中

6.1地址与指针地址实体都有存储的内存地址。内存中的实体都有一个地址,一般它们所占用的存储单元中的第一个存储单元的地址表示。数据是存放在实体名字所代表的内存空间中的。c++中,由编译程序为变量或函数分配内存空间
2 6.1 地址与指针 一、地址 • 实体都有存储的内存地址。 • 内存中的实体都有一个地址,一般它们所占用的存 储单元中的第一个存储单元的地址表示。 • 数据是存放在实体名字所代表的内存空间中的。 • c++中,由编译程序为变量或函数分配内存空间

6.1地址与指针地址通过名字使用一个变量或者调用一个函数;由编译程序完成函数名与实际存储地址之间的转换;·C++采用直接存取访问方式和间接访问方式。直接存取访问方式:通过名字访问变量、数组、函数间接访问方式:通过地址操作变量、数组或函数来达到处理数据的目的。该方法运行效率高。3
3 6.1 地址与指针 一、地址 • 通过名字使用一个变量或者调用一个函数; • 由编译程序完成函数名与实际存储地址之间的转换; • C++采用直接存取访问方式和间接访问方式。 • 直接存取访问方式:通过名字访问变量、数组、函 数。 • 间接访问方式:通过地址操作变量、数组或函数来 达到处理数据的目的。该方法运行效率高

6.1地址与指针地址地址译码器数据C++规定变量的地址:可以用取地址运算符‘&’来获取;数组的地址:可以用数组名表示;函数的地址:可以用函数名表示
4 6.1 地址与指针 一、地址 C++规定 • 变量的地址: 可以用取地址运算符‘&’来获取; • 数组的地址: 可以用数组名表示; • 函数的地址: 可以用函数名表示。 地 址 译 码 器 数据 . .

6.1地址与指针地址变量a指针p例:&a3int a = 3;int*p=&a;I/&表示实体地址,指针p指向a的存储地址说明:I、在实体a前加上&表示取该实体地址的操作。2、int *表示定义一个指针。3、指针实体为32位长,占4个字节
5 6.1 地址与指针 一、地址 例: int a = 3; int * p = &a; //&表示实体地址,指针p指向a的存储地址 说明:1、在实体a前加上&表示取该实体地址的操作。 2、int *表示定义一个指针。 3、指针实体为32位长,占4个字节。 &a 3 指针p 变量a

6.1.2 指针指针一个变量的内存地址称为该变量的指针:专门用来存储内存地址的变量称为指针(变量);指针变量的值是地址。指针也是一种数据类型
6 6.1.2 指针 二、指针 • 一个变量的内存地址称为该变量的指针; • 专门用来存储内存地址的变量称为指针(变量); • 指针变量的值是地址。 • 指针也是一种数据类型

6.1.2 指针指针声明的一般格式:数据类型指针变量名:注"不是指针变量名的一部分,而是说明一个指针类型的“*变量。指针本质:指针本质上是一个内存地址指示器。例:int*ptr;//指针ptr所指向的变量为整型变量float *array,char *sl,*s2;
7 6.1.2 指针 指针声明的一般格式: 数据类型 * 指针变量名; 注:“ * ”不是指针变量名的一部分,而是说明一个指针类型的 变量。 指针本质: 指针本质上是一个内存地址指示器。 例: int * ptr; //指针ptr所指向的变量为整型变量 float *array; char *s1,*s2;

6.1.2指针二、 指针指针三要素:指针的变量名:标识指针变量的名称,命名规则与一般变量相同;指针变量的类型:是指针所指向的变量的数据类型:指针变量的值:指针所指向变量在内存中所处的地址。说明:指针变量也要先说明,后使用。指针可以指向各种类型:基本类型、数组、函数、对象、指针8
8 6.1.2 指针 二、指针 指针三要素: • 指针的变量名:标识指针变量的名称,命名规则与一 般变量相同; • 指针变量的类型:是指针所指向的变量的数据类型; • 指针变量的值:指针所指向变量在内存中所处的地址。 说明:指针变量也要先说明,后使用。 指针可以指向各种类型:基本类型、数组、函数、对象、指 针

6.1.2 指针指针与地址:指针与内存地址对应:内存地址对应一个二进制整数;7指针的类型与所指向的实体类型一致
9 6.1.2 指针 指针与地址: • 指针与内存地址对应; • 内存地址对应一个二进制整数; • 指针的类型与所指向的实体类型一致