- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++语言程序设计;教学要求:
1. 掌握数组的概念和使用;
2. 掌握指针的概念、运算、指针数组和对象指针;
3. 掌握动态内存分配的应用;
4. 掌握字符串的应用;
教学重点:
1. 数组的声明、存储,数组作为参数和对象数组
2. 指针的声明、运算,处理数组元素,对象指针
3. new运算和 delete运算
教学难点:
1. 指针的概念
2. 指针作为函数参数,处理数组元素,对象指针
;第六章 数组 指针与字符串;本章主要内容;§6.2 指针(关于内存地址);§6.2.1指针变量的概念;§6.2.2 指针变量的应用; ?指针变量的声明
?定义指针变量的一般形式为: ;?指针变量的赋值
?声明一个指针变量,未赋值时其中的地址值是一个随机的数。因此声明指针变量之后必须先赋值,才可以使用。 ;§6.2.4指针变量的赋值
?“”是取地址运算符,用来获取一个变量的地址。将获取的变量的地址赋值给指针变量。
?不能把普通非 0 整数赋值给指针变量。;?指针变量的赋值
?使用变量地址赋值时,该变量必须在赋值之前已声明过,且变量类型应与指针类型一致。
?可以用一个已赋值的指针变量去赋值给另一 个指针变量。
?数组名代表数组的起始地址,可以将数组名表示的地址赋值给指针变量;?指针变量的赋值
?一般情况下,一种类型的指针变量只能存放相同类型的变量的地址。
?特殊的 void 类型的指针,可以存放任何类型的变量的地址。经过类型强制转换,void 类型的指针可以访问任何类型的数据。;?指针变量的引用
?“ * ”是指针运算符,表示指针所指向的变量。 ;?指针变量的引用;例6-6 指针的声明、赋值与使用;?指针变量的地址
指针也是变量,是变量就具有内存地址。所以指针也有地址。
例:下面的程序输出iCount变量值,以及iPtr和iCount的地址值:
# include iostream.h
{ int iCount = 18 ;
int * iPtr = iCount ;
* iPtr = 58 ;
cout iCount endl ;
cout iPrt endl ;; cout iCount endl ; //与iPtr值相同
cout *iPtr endl ; //与 iCount值相同
cout iPtr endl ; //指针本身的地址
}
运行结果:
58
0x0067fe00
0x0067fe00
58
0x0067fdfc;?指针与整型数的区别
?指针在使用中必须类型匹配。例:
int iCount = 26 ;
int * iPtr = iCount ; //定义语句:*在此
//处作定义指针变量用,而非间接引用。
* iPtr = iCount ; //error:不能将整型地 //址转换成整型数
* iPtr = 50 ; //执行语句:*在此处作间接引用
?指针值不是整型数
赋值语句“* iPtr = iCount ; ”在BC中会引起类型转换的错误。 (cannot convert int* to int);指针与常量(const指针) —指向常量的指针;指针与常量 —指针常量;?void类型指针
一般情况下,指针的值只能赋给相同类型的指针。但是有一种特殊的void类型指针,可以存储任何类型的对象地址。
例: void类型指针的使用
void vobject ; //error,不能声明void类型的变量
void * pv ; // ok ,可以声明void类型的指针
int * pint ; int i ;
void main( ) // void类型的函数没有返回值
{ pv = i ; //void类型指针指向整型变量
pint = (int *)pv ; // 类型强制转换
} //void类型指针赋值给整型指针;指针与常量 —指向常量的指针常量;§6.2.5指针变量的运算;;long *pb;?关系运算
?指向相同类型数据的指针之间可以进行各种关系运算。
?指向不同数据类型的指针,以及指针与一般整数变量之间的关系运算是无意义的。
?指针可以和零之间进行等于或不等于的关系运算。例如:p == 0 或 p! = 0
?赋值运算
?向指针
文档评论(0)