第五章指针习题解答.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第五章指针习题解答.doc》由会员分享,可在线阅读,更多相关《第五章指针习题解答.doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章指针 习题解答习题解答第五章 指 针1、指针的基类型定义了该指针所指向变量的类型。从技术上讲,任何类型的指针均可指向内存中的任何位置,但因所有的指针运算都是与它的基类型相关联的,所以正确说明指针非常重要。(1)基类型使指针只能指向基类型定义的一类变量。(2)限制引用操作满足基类型的约束(范围、运算、内存表示)。(3)限制指针移动操作的跨度。 2、(1)通过指针引用数组元素是C语言提供的一种高效数组访问机制,通过带下标的指针变量引用一维数组元素。 (2)通过指针指向数组或数组元素的地址完成各种赋值、引用、移动、比较等操作。数组名在C语言中被处理成一个地址常量,也就是数组所占连续存储单元的起
2、始地址,一旦定义,数组名永远是数组的首地址,在其生存期不会改变。可以通过数组首地址引用数组元素,输出数组中全部元素。也可以将数组名与数组指针赋值完成各种操作。3、(1)指针数组定义形式为int * asize;实质是一个数组,共有size个元素,其中每个元素都是指针类型的,并且每个元素的基类型是整型。(2)数组指针定义形式为int (*p)size;实质是一个变量,是一个指针变量,这个指针变量的基类型是size 个int类型元素的数组。简单的说数组指针是一个指针,它指向一个数组,通过这个指针可以对数组进行多种操作,和使用数组下标起到相同的作用,这个指针最初指向数组第一个元素;指针数组就是一个数
3、组,它里边的元素都是指针。举例如下:int *p5; / 指针数组,p是数组名,数组里放5个int指针。int (*p)5; / 数组指针,p是指针名,指向一个有5个int元素的数组。4、(1)int *p;/定义了一个基类型为整型的指针变量p即p是整型指针。(2)int *p5;/定义了一个指针数组p,数组中含有5个基类型为整型的指针,即p是5个元素的数组,数组元素是整型指针。(3)int (*p)5; 定义了一个数组指针p,p指向一个含有5个整型元素的数组,即p是指针,指向数组,数组有5个整型元素。(4)int *fp();定义了一个函数fp,函数的返回值是个指向整型变量的指针变量。(5)
4、int (*fp)(); 定义一个指向函数的指针变量fp,返回值为整型。(6)int * (*fp)(); fp是指针,指向返回类型为整型指针的函数。(7)void *fp();fp是函数,函数返回通用指针。(8)int *p;定义了一个指向指针的指针p,p为整型指针的指针,即p是指针,指向一个整型指针。5、(1)1 2 3 4 5 6 7 8 9 10 11 12(2)11,11,11 (3)edcba(4) 1 3 5 76、# include # include void main() char *p,x100,c; clrscr();p=x; while(c=getchar()!=n)
5、 *p=c; p+; p-; while(p!=x-1) printf(%c,*p); p-; 7、# include # include main() char str100,*p; int i=0; printf(Please input string:); clrscr(); gets(str); p=str; while(*p+=0) i+; printf(The length of the string is %d:,i);8、第一问参考第5题第(1)小题和例5-5。第二问将第5题第(1)小题指针指向改为*p=&a23,指针输出改为 *p即可。亦可参考如下:#indudevoid m
6、ain() int a1010,i,j,*p,n; for( i0;i10;i) for( j0;j10;j) *(*(ai )j)i*10j; n0; for( p&a99;p&a00;p) printf( 5d,*p ); if(n 10 0) printf(n); 利用指向行数组的指针变量可重写为:#include void main() int a1010,i,j,*p; int (*pp ) 10; ppa; for( i0;i10;i ) for( j0;j10;j ) *(*ppj )i*10j; p; for(p *pp1;pa0;p ) printf( 5d,*p ); if
7、( pa0 ) 10 0 ) printf( n); 9、#include conio.hmain( ) int month,day,ry1=0,ry2=0; int i,*p;int days212=31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31; printf(please input the right month and the right day:n); scanf(%d,%d,&month,&day); clrscr(); p=days; if(month12) printf(error
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 指针 习题 解答
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内