还剩10页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
习题6参考解答1.请解释以下术语的含义地址指针指针变量直接访问间接访问解
(1)地址内存单元的编号叫做地址
(2)指针内存单元的编号叫做地址,通常也叫做指针
(3)指针变量在C语言中,允许用一个变量来存放指针,这种变量称为指针变量
(4)直接访问通过变量名称引用变量内存单元的方式称为直接访问
(5)间接访问利用了指针变量,通过变量的指针(即变量的内存地址)来引用内存单元的值,这种方式称为间接访问2.指针能参与哪几种运算?举例说明解
(1)指针变量和整数可以进行加/减运算p++、p--、p+i、p-i、p+=i、p-=i
(2)指针变量可进行赋值运算p=a;变量a的地址赋给p,即指针p指向ap=array;数组array首地址赋给pp=array[i];数组元素array[i]的地址赋给pp=max;函数max的入口地址赋给pp1=p2;指针p2的值赋给指针p1,即p
1、p2所指的数据相同
(3)同类指针变量在一定的条件下可以作相减运算p-q
(4)同类指针变量在一定的条件下可以作比较运算:pq3.判断下面两个程序的正误,若错误指出原因
(1)#includestdio.hintmain{char*p;p=DATA;printf%s\n*p;return0;}解该程序错应为printf%s\np;
(2)#includestdio.hintmain{int*p;*p=25;printf%d*p;return0;}解该程序错指针变量没有赋初值4.输入3个整数,输出其中最大数要求用指针变量实现解#includestdio.hintmain{inta=0b=0c=0;int*aa=NULL*bb=NULL*cc=NULL*p=NULL;aa=abb=bcc=c;printfinput3number:;scanf%d%d%dabc;printfa=%db=%dc=%d\na...。