北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第六章 指针和引用

C++大学基础教程 第6章指针和引用 2021/224
2021/2/24 1 C++大学基础教程 第6章 指针和引用

◆指针( Pointer)是+和C的 种数据类型。很多其他高级语言 也有类似的数据类型。引用 ( Reference)则是C++所特有的 一种数据类型。指针和引用在概 念上和使用上都有相似之处。但 是也有重要的差别, 2021/2/24
2021/2/24 -2- 指针(Pointer)是C++和C的一 种数据类型。很多其他高级语言 也有类似的数据类型。引用 (Reference)则是C++所特有的 一种数据类型。指针和引用在概 念上和使用上都有相似之处,但 是也有重要的差别

第六章指针和引用 61指针的概念 6.2指针的运算 63指针和函数 64指针和字符串 6.5通过指针访问数组 6.6指针访问动态内存 67引用概念 2021/2/24
2021/2/24 -3- 第六章 指针和引用 6.1 指针的概念 6.2 指针的运算 6.3 指针和函数 6.4 指针和字符串 6.5 通过指针访问数组 6.6 指针访问动态内存 6.7 引用概念

6.1指针的概念 2021/224
2021/2/24 4 6.1 指针的概念

61.1指针和指针变量 ◆指针是变量的地址。或者说是在內存中,存放 某种类型变量的地址。 ◆例如,定义了整型变量a,a的地址就是一个指 针。 ◆也可以不定义任何变量,只是指定内存某个地 址开始(如0x00430100)的4个字节存放整 型变量,这样的地址也是指针。 ◆存放指针的变量就是指针变量。 2021/2/24
2021/2/24 -5- 6.1.1 指针和指针变量 指针是变量的地址。或者说是在内存中,存放 某种类型变量的地址。 例如,定义了整型变量a,a的地址就是一个指 针。 也可以不定义任何变量,只是指定内存某个地 址开始(如0x00430100)的4个字节存放整 型变量,这样的地址也是指针。 存放指针的变量就是指针变量

61.1指针和指针变量 ◆当声明了一个指针变量后,确定了三件事: 变量本身在内存中所分配的地址和字节数,指针变 量总是占有4个字节; 系统允许的地址范围,以及地址单元内可以存放的 内容; ■指针变量可以进行的运算。 ◆访问指针变量时,只能看到地址。只有通过这 个地址,才能访问地址单元中的内容。这样的 访问称为对于内存单元的间接访问。 2021/2/24
2021/2/24 -6- 6.1.1 指针和指针变量 当声明了一个指针变量后,确定了三件事: ◼ 变量本身在内存中所分配的地址和字节数,指针变 量总是占有4个字节; ◼ 系统允许的地址范围,以及地址单元内可以存放的 内容; ◼ 指针变量可以进行的运算。 访问指针变量时,只能看到地址。只有通过这 个地址,才能访问地址单元中的内容。这样的 访问称为对于内存单元的间接访问

612指针变量的声明和初始化 ◆指针变量声明的格式是: *变量名1,*变量名2; 例如: int *val, *va2 char xch1*ch2 ◆指针变量在声明后,变量的值(地址)是随机 的。这样的指针变量是不能安全的使用的。因 有效的数据地 址。 2021/2/24
2021/2/24 -7- 6.1.2 指针变量的声明和初始化 指针变量声明的格式是: *变量名1, *变量名2; 例如: int *va1, *va2; char *ch1, *ch2; 指针变量在声明后,变量的值(地址)是随机 的。这样的指针变量是不能安全的使用的。因 为其中的随机地址完全可能不是有效的数据地 址

612指针变量的声明和初始化 ◆在声明指针变量时的“*”,有两个含义 声明变量va1、Va2、ch1、ch2都是指针变量; 说明变量va1和va2的类型是(int*)型,即指向 整型变量的指针。va1和va2所指定的地址单元中, 只能存放整型数据。类似地,ch1和ch2的类型是 char*)型,它们所指定的地址单元中,只能存 放字符 ◆指针变量都是有类型的指针变量的类型就是它 所指定的地址单元中存放的数据的类型。 2021/2/24
2021/2/24 -8- 6.1.2 指针变量的声明和初始化 在声明指针变量时的“*”,有两个含义: ◼ 声明变量va1、va2、ch1、ch2都是指针变量; ◼ 说明变量va1和va2的类型是(int *)型,即指向 整型变量的指针。va1和va2所指定的地址单元中, 只能存放整型数据。类似地,ch1和ch2的类型是 (char *)型,它们所指定的地址单元中,只能存 放字符。 指针变量都是有类型的.指针变量的类型就是它 所指定的地址单元中存放的数据的类型

612指针变量的声明和初始化 ◆指针变量的初始化有两种方法:在声明时的初 始化和声明后的初始化。 ◆声明指针变量时就进行初始化的格式是: *指针变量名=&变量名; 其中的变量名应该是已经声明或定义的同类型变量 名。例如 char ch1=y ch2=A. char *pchl=&chl, *pch2=&ch2 2021/2/24
2021/2/24 -9- 6.1.2 指针变量的声明和初始化 指针变量的初始化有两种方法:在声明时的初 始化和声明后的初始化。 声明指针变量时就进行初始化的格式是: *指针变量名=&变量名; ◼ 其中的变量名应该是已经声明或定义的同类型变量 名。例如: ◼ char ch1=’Y’, ch2=’A’; ◼ char *pch1=&ch1, *pch2=&ch2;

612指针变量的声明和初始化 ◆也可以在声明指针变量后,用赋值的方式对它 们进行初始化。例如: int i1=Y,12=A int*pil,*pi2; pil=&il pi2=&i2; ◆没有初始化指针变量是不可以使用的。编译带 有这样的指针变量的程序,编译系统会给出警 告,而运行时会出现错误。 2021/2/24
2021/2/24 -10- 6.1.2 指针变量的声明和初始化 也可以在声明指针变量后,用赋值的方式对它 们进行初始化。例如: ◼ int i1=’Y’, i2=’A’; ◼ int *pi1, *pi2; ◼ pi1=&i1; ◼ pi2=&i2; 没有初始化指针变量是不可以使用的。编译带 有这样的指针变量的程序,编译系统会给出警 告,而运行时会出现错误
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第九章 继承与派生.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第二章 基本数据类型与表达式.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第八章 类与对象.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第一章 C++初步.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第五章 数组.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第四章 函数.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第十章 运算符重载.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第十一章 多态性.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》课程说明.ppt
- 湖南软件职业技术学院:《C语言程序设计》课程总结(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》C语言的字符集、标识符与关键字(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第四章 选择结构程序设计(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》选择结构程序设计(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第四章 选择结构程序设计(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第三章 C语言基本语句和顺序结构程序设计(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第二章 C语言的数据类型与运算(2.1-2.4)数据类型(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第二章 C语言的数据类型与运算(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第一章 C语言的字符集(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第一讲 概述(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第五章 选择结构程序设计(危孟君).ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第七章 其它自定义数据类型.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第三章 过程化语句.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第十二章 I/O流及输入输出.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第十三章 异常处理.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》类示例程序.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》冒泡和选择排序.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第12章 MCS-51的功率接口设计.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第13章 MCS-51的串行通讯技术及其它扩展接口.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第14章 MCS-51应用系统的可靠性及抗干扰设计.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第15章 MCS-51单片机应用系统的设计、开发与调试.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第01章 单片机概述.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第02章 MCS-51单片机的硬件结构.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第03章 MCS-51的指令系统.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第04章 MCS-51汇编语言程序设计.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第05章 MCS-51的中断系统.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第06章 MCS-51的定时器/计数器.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第07章 MCS-51的串行口.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第08章 MCS-51单片机扩展存储器的设计.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第10章 MCS-51与键盘、显示器、拨盘、打印机的接口设计.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第11章 MCS-51与D/A转换器、A/D转换器的接口.ppt