中国地质大学C.ppt

第五章 指针和引用;指针是一种特殊的数据类型。 指针概念是C++语言中较难理解和较难掌握的概念之一。 本章介绍指针的概念、定义、运算等内容。;指针指向的对象称为目标或目标变量(常量)。如图7.1所示: ;C++规定: 目标或目标变量可以用指针变量名前加上运算符“ * ”表示。 pv的目标变量value可表示为*pv, pc的目标变量ch可表示为*pc, 即 *pv和value等效 *pc和ch等效 而pv和pc表示针变量本身的地址,当指针变量为2个字节时, 最大访问地址为:;例如: int *ptr ; char *name ; float *pf ; 其中,定义ptr,name,pf分别为指向整型、字符型和浮点型 数据的指针。 const int *ptr; // pointer to int const const char *cpc const float *point 其中,ptr,cpc,point为指向常量的指针。 注意: 指针变量可以与其他变量一起定义,如: int a, bb,*c; char *p, *q, ch; 指针变量也可定义为全局,静态和局部的指针。;例如: int num, *pn; char color , *pc; 执行语句 pn=num; pc=color; 则在程序中 *pn=100; 等效于num=100; *pc=‘r’; 等效于color=‘r’; 这里,“*”作为访问目标变量的运算符,在定义指针时, “*”作为说明符。注意使用上的区别。;指针赋值的几种情况: 同种数据类型的指针变量之间可以相互赋值。 int a, *pa, *pb; pa=a; pb=pa; //pa, pb holds the same address of a 指针变量可以赋初值: int a, b, c; int *pa=a, *pc=c; 指针可初始化为空指针 char *p=NULL; 指针变量的类型名与指向目标的数据类型一致。 例如: int *p, a; float b, *q; p=b; q=a; //错误 p=a; q=b; //正确;例:有关指针概念的程序 //ex5_3.cpp #include iostream.h void main( ) { int w, *p = w; *p = 800; coutw=w\tw=wendl; cout*p=*p\tp=pendl; cout\tp=pendl; };图示如下:;3、指针与整数的加减运算 在数组中,指针变量加上或减去一个整数n,表示: 指针由当前所指向的位置向前或向后移动n个数据元素的位置。 移动后的实际地址为: p ± n*sizeof(数据类型) 4、指针的关系运算 指向同种数据类型的指针可作关系运算,表示它们所存放的 地址之间的关系。 , , = = , != 指针运算示例:课本P57例4.2;//ex5_2a.cpp #include iostream.h void main( ) { int a[10], *p, *q; couta=aendl; couta+1=a + 1endl; couta+2=a + 2endl; p = a[5]; q = p; p ++; q --; ;例 //ex5_3.cpp #include iostream.h void main( ) { char *p1, *p2; p1 = C Program; p2 = p1 + 8; while (p2 = p1) { cout*p2; p2--; } coutendl; };§5.4 指针与数组;数组元素的表示方法示例;例如:下面程序是用指针方式访问数组元素,计算数组元素之和。 #include iostream.h void main() { int iarray[10]={0,2,4,6,8,10,12,14,16,18}; int sum=0; int *iptr=ia

文档评论(0)

1亿VIP精品文档

相关文档