欢迎来到天天文库
浏览记录
ID:48155589
大小:238.50 KB
页数:94页
时间:2020-01-16
《计算机程序设计基础05.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章指针的应用西南交通大学软件学院计算机基础教研室计算机程序设计与VisualC++教学目标掌握地址与指针的概念;掌握指针类型变量的定义、赋值以及使用的方法;掌握将一个变量或数组的地址赋给指针类型的变量;掌握指针操作相关的运算符;2教学目标掌握通过指针类型的变量去访问单一变量;掌握通过指针类型的变量去操作一维数组;3教学内容着重介绍指针与指针变量的概念;指针类型变量的定义、赋值以及使用的方法;指针与地址运算符;通过指针类型的变量去访问单一变量;掌握通过指针类型的变量去操作一维数组;4§5.1指针的概述[例5.1]阅读如下
2、程序:5#includeusingnamespacestd;voidmain(){inta;int*p;a=10;p=&a;cout<<"a的值表示方法1:"<3、中的每个元素都有一个下标一样,每个内存单元都有一个编号,称内存单元的地址。8编程技巧:在运行一个程序时,程序本身及其所用到的数据都要放在内存单元中,并以其所占用的第一个存储单元的地址来表示。在C++中,分配内存单元的工作由编译程序完成。计算机通过这种地址编号的方式来管理内存数据读写的准确定位。9地址编码的基本单位是字节,每个字节是一个基本内存单元,有一个地址编号。程序中声明的变量是要占据一定的内存空间的,不同的数据类型占用的字节数是不一样的,例如:char型占1个字节,short型占2个字节,int型和long型都占4个字4、节。编程技巧:10内存储器3620012002301020002006内存单元的内容内存单元的地址定义整形变量inti=3定义整形变量intj=6内存单元内存单元内存单元11从内存单元中存取数据的方法直接访问方式:通过变量名间接访问方式:通过地址编程技巧:12直接访问方式:直接对变量的存储单元进行存取访问。在变量获得内存空间的同时,变量名也就成为了相应内存空间的名称,在变量的整个生存期内都可以用这个名字访问该内存空间,表现在程序语句中就是通过变量名存取变量内容。编程技巧:13间接访问方式:先找到存放变量的地址的变量,得到变5、量的地址,再根据变量的地址找到变量的存储单元,对它进行存取访问。例如:[例5.1]中,用语句:cout<<"a的值表示方法2:"<<*p<usingnamesp6、acestd;voidmain(){intx=8;int*p;int*q;inta=3;int*pa=&a;p=&x;q=p;cout<<*p<7、;②一个指针变量只能存储同一种类型变量的地址。1、指针变量的定义202、指针变量的赋值(1)指针变量的初始化语法形式:数据类型*指针名=初始地址;例:int*pa=&a;注意事项用变量地址作为初值时,该变量必须在指针初始化之前定义。如:inta=3;int*pa=&a;//必须先定义变量a,后将a变量的地址赋给pa,也称为pa指向了变量21(2)为指针变量赋值定义指针变量后,可用赋值语句将其置初值。语法形式:指针变量名=地址;可以是变量的地址、数组名、函数名等。2、指针变量的赋值22例如:【例5.2】中对于指针变量p和q的8、先定义,再赋值。int*p;int*q;p=&x;//必须先定义变量x,后将x变量的地址赋给p,也称为p指向了xq=p;//可以用已赋值的指针变量赋值给另一个指针变量2、指针变量的赋值23(3)允许声明指向void类型的指针,该指针可以被赋予任何类型对象的地址。例:void*general;int*po
3、中的每个元素都有一个下标一样,每个内存单元都有一个编号,称内存单元的地址。8编程技巧:在运行一个程序时,程序本身及其所用到的数据都要放在内存单元中,并以其所占用的第一个存储单元的地址来表示。在C++中,分配内存单元的工作由编译程序完成。计算机通过这种地址编号的方式来管理内存数据读写的准确定位。9地址编码的基本单位是字节,每个字节是一个基本内存单元,有一个地址编号。程序中声明的变量是要占据一定的内存空间的,不同的数据类型占用的字节数是不一样的,例如:char型占1个字节,short型占2个字节,int型和long型都占4个字
4、节。编程技巧:10内存储器3620012002301020002006内存单元的内容内存单元的地址定义整形变量inti=3定义整形变量intj=6内存单元内存单元内存单元11从内存单元中存取数据的方法直接访问方式:通过变量名间接访问方式:通过地址编程技巧:12直接访问方式:直接对变量的存储单元进行存取访问。在变量获得内存空间的同时,变量名也就成为了相应内存空间的名称,在变量的整个生存期内都可以用这个名字访问该内存空间,表现在程序语句中就是通过变量名存取变量内容。编程技巧:13间接访问方式:先找到存放变量的地址的变量,得到变
5、量的地址,再根据变量的地址找到变量的存储单元,对它进行存取访问。例如:[例5.1]中,用语句:cout<<"a的值表示方法2:"<<*p<usingnamesp
6、acestd;voidmain(){intx=8;int*p;int*q;inta=3;int*pa=&a;p=&x;q=p;cout<<*p<7、;②一个指针变量只能存储同一种类型变量的地址。1、指针变量的定义202、指针变量的赋值(1)指针变量的初始化语法形式:数据类型*指针名=初始地址;例:int*pa=&a;注意事项用变量地址作为初值时,该变量必须在指针初始化之前定义。如:inta=3;int*pa=&a;//必须先定义变量a,后将a变量的地址赋给pa,也称为pa指向了变量21(2)为指针变量赋值定义指针变量后,可用赋值语句将其置初值。语法形式:指针变量名=地址;可以是变量的地址、数组名、函数名等。2、指针变量的赋值22例如:【例5.2】中对于指针变量p和q的8、先定义,再赋值。int*p;int*q;p=&x;//必须先定义变量x,后将x变量的地址赋给p,也称为p指向了xq=p;//可以用已赋值的指针变量赋值给另一个指针变量2、指针变量的赋值23(3)允许声明指向void类型的指针,该指针可以被赋予任何类型对象的地址。例:void*general;int*po
7、;②一个指针变量只能存储同一种类型变量的地址。1、指针变量的定义202、指针变量的赋值(1)指针变量的初始化语法形式:数据类型*指针名=初始地址;例:int*pa=&a;注意事项用变量地址作为初值时,该变量必须在指针初始化之前定义。如:inta=3;int*pa=&a;//必须先定义变量a,后将a变量的地址赋给pa,也称为pa指向了变量21(2)为指针变量赋值定义指针变量后,可用赋值语句将其置初值。语法形式:指针变量名=地址;可以是变量的地址、数组名、函数名等。2、指针变量的赋值22例如:【例5.2】中对于指针变量p和q的
8、先定义,再赋值。int*p;int*q;p=&x;//必须先定义变量x,后将x变量的地址赋给p,也称为p指向了xq=p;//可以用已赋值的指针变量赋值给另一个指针变量2、指针变量的赋值23(3)允许声明指向void类型的指针,该指针可以被赋予任何类型对象的地址。例:void*general;int*po
此文档下载收益归作者所有