北京邮电大学电信工程学院:高等教学计算机教材《C++大学基础教程》课程教学资源(PPT课件)第六章 指针和引用

C++大学基础教程 第6章指针和引用 北京邮电大学电信工程学院 计算机技术中心 2021/220
2021/2/20 1 C++大学基础教程 第6章 指针和引用 北京邮电大学电信工程学院 计算机技术中心

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

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

6.1指针的概念
6.1 指针的概念

61.1指针和指针变量 ◆指针是变量的地址。或者说是在內存中,存放 某种类型变量的地址。 ◆例如,定义了整型变量a,a的地址就是一个指 针。 ◆也可以不定义任何变量,只是指定内存某个地 址开始(如0x00430100)的4个字节存放整 型变量,这样的地址也是指针。 ◆存放指针的变量就是指针变量。 2021/2/20 北京邮电大学电信工程学院计算机技术中
2021/2/20 北京邮电大学电信工程学院计算机技术中心 -5- 6.1.1 指针和指针变量 指针是变量的地址。或者说是在内存中,存放 某种类型变量的地址。 例如,定义了整型变量a,a的地址就是一个指 针。 也可以不定义任何变量,只是指定内存某个地 址开始(如0x00430100)的4个字节存放整 型变量,这样的地址也是指针。 存放指针的变量就是指针变量

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

612指针变量的声明和初始化 ◆指针变量声明的格式是: *变量名1,*变量名2; 例如: int *val, *va2 char xch1*ch2 ◆指针变量在声明后,变量的值(地址)是随机 的。这样的指针变量是不能安全的使用的。因 有效的数据地 址。 2021/2/20 北京邮电大学电信工程学院计算机技术中
2021/2/20 北京邮电大学电信工程学院计算机技术中心 -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/20 北京邮电大学电信工程学院计算机技术中
2021/2/20 北京邮电大学电信工程学院计算机技术中心 -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/20 北京邮电大学电信工程学院计算机技术中
2021/2/20 北京邮电大学电信工程学院计算机技术中心 -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/20 北京邮电大学电信工程学院计算机技术中
2021/2/20 北京邮电大学电信工程学院计算机技术中心 -10- 6.1.2 指针变量的声明和初始化 也可以在声明指针变量后,用赋值的方式对它 们进行初始化。例如: ◼ int i1=’Y’, i2=’A’; ◼ int *pi1, *pi2; ◼ pi1=&i1; ◼ pi2=&i2; 没有初始化指针变量是不可以使用的。编译带 有这样的指针变量的程序,编译系统会给出警 告,而运行时会出现错误
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京邮电大学电信工程学院:高等教学计算机教材《C++大学基础教程》课程教学资源(PPT课件)第八章 计算机网络基础与Internet应用.ppt
- 北京邮电大学电信工程学院:高等教学计算机教材《C++大学基础教程》课程教学资源(PPT课件)第五章 Word 2000.ppt
- 北京邮电大学电信工程学院:高等教学计算机教材《C++大学基础教程》课程教学资源(PPT课件)第二章 微型计算机系统.ppt
- 北京邮电大学电信工程学院:高等教学计算机教材《C++大学基础教程》课程教学资源(PPT课件)第三章 操作系统.ppt
- 北京邮电大学电信工程学院:高等教学计算机教材《C++大学基础教程》课程教学资源(PPT课件)第七章 PowerPoint2000.ppt
- 北京邮电大学电信工程学院:高等教学计算机教材《C++大学基础教程》课程教学资源(PPT课件)第一章 计机基础知识.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)第六章 32位汇编程序设计.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)第四章 汇编语言程序设计的基本方法.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)第七章 Win32汇编语言程序设计.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)第五章 输入/输出与中断系统.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)第二章 8086/8088的寻址方式与指令系统.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)第三章 汇编语言与汇编程序.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)绪言.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)第一章 ntel8086/8088的基本结构.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第九章 群体类.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第八章 多态性.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第七章 继承与派生.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第六章 数组指针与字 符串.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第五章 C艹程序的结构.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第四章 类与对象.ppt
- 北京邮电大学电信工程学院:高等教学计算机教材《C++大学基础教程》课程教学资源(PPT课件)第四章 Windows2000.ppt
- 《化学信息学导论》电子书.pdf
- 华中科技大学:《MATLAB语言与控制系统仿真》课程教学资源(PPT课件讲稿)第一章 计算机辅助设计与仿真技术概述.ppt
- 华中科技大学:《MATLAB语言与控制系统仿真》课程教学资源(PPT课件讲稿)第三章 控制系统的数学描述与建模.ppt
- 华中科技大学:《MATLAB语言与控制系统仿真》课程教学资源(PPT课件讲稿)第二章 matlab语言基础.ppt
- 华中科技大学:《MATLAB语言与控制系统仿真》课程教学资源(PPT课件讲稿)第五章 SIMULINK仿真基础.ppt
- 华中科技大学:《MATLAB语言与控制系统仿真》课程教学资源(PPT课件讲稿)第四章 控制系统的分析方法.ppt
- 高职:《Web数据库技术》第10章 网络数据库应用实例.ppt
- 高职:《Web数据库技术》第1章 Web数据库概述.ppt
- 高职:《Web数据库技术》第2章 ASP及其运行环境.ppt
- 高职:《Web数据库技术》第3章 HTML语言基础.ppt
- 高职:《Web数据库技术》第4章 在ASP中使用VBScript.ppt
- 高职:《Web数据库技术》第5章 在ASP中使JavaScript.ppt
- 高职:《Web数据库技术》第6章 ASP中的内建对象.ppt
- 高职:《Web数据库技术》第7章 数据库基础.ppt
- 高职:《Web数据库技术》第8章(8-2)节 连接对象.ppt
- 高职:《Web数据库技术》第8章(8-4) 命令对象.ppt
- 高职:《Web数据库技术》第8章(8-1) ActiveX数据对象.ppt
- 高职:《Web数据库技术》第8章(8-3) 记录集对象.ppt
- 高职:《Web数据库技术》第9章 Web数据库安全性.ppt