电子科技大学 乔保军版cc++第六节课后答案.docx

电子科技大学 乔保军版cc++第六节课后答案.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章作业 第一题 (1) 简述指针变量和一般变量的异同 答:指针变量和一般变量同时变量其值是可以被改变和赋值的,但是指针变量和一般变量不同的是指针变量里所存放的数据是某个变量的地址而不是宏观上有意义的数字或字符。但是指针变量的使用和一般变量的使用又有一些是相同的,例如可以直接使用“*”号运算符可以对指针所指正的变量直接进行数据操作。 例: Int a=3,b=5; Int *p; *p=a; *p=b; //此处就是将b的值赋给指针p指向的变量 也就是赋给了a (2) 简述指针的自运算特点 答: 指针变量的自运算是指指针的地址运算如p++;p--;--p;++p P+n;p-n;(注:p是指针变量 n为整数)分别指的是对p所指向的地址左移或右移一个单位地址, 和对p所指向的地址左移或右移n个单位地址!! 单位地址的大小与指针所指向的变量类型有关!!!例如p所指向的变量得类型为int型变量,如果进行p++运算就是将指针指向p所指向的地址向数值大的方向加4个字节 ,同理若p指向的是 float型则是向地址大的方向加8个字节 (3)简述指向函数的指针和返回指针的函数 答:指向函数的指针本身是一个指针 ,因为函数通常都有一个输入接口指向函数的指针就是指向这个函数。 在使用指针的时候会把需要传递的参数通过指针传递给函数 ,从指向函数的指针定义的方法就可以看出来 。 Int (*pf)(int,int) attention:!!指针定义的类型一定要和函数的返回值类型一样才ok 不然会报错哦!!-_-# 返回指针的函数就是返回值是指针的函数和普通的函数使用方法一样 ,但是在函数的定义时定义的方法如下 Int* fun(int*,int*) 一般返回指针的函数的参数就是指针的类型 返回指指针的函数在学习函数的时候就有学到,主要的优势是通过指针的传递在调用外部函数时可以对main函数中的数据直接进行操作,不会像普通函数一样如果不适用static静态局部变量进行声明那么在函数调用结束后函数压进栈里面的数据 也就丢失了!!!!! (4) 举例说明如何使用指针访问一维数组 答:使用指针访问一维数组 ,因为数组的特性是数组在内存中所占的空间是和它所定义的类型相关的。同时数组内的元素在内存空间中的地址是依次排列出来的,所以使用指针访问数组,可以定义一个指针然后将数组的第一个元素的地址赋值给指针(也就是array【0】)然后可以利用指针的自运通过指针来达到访问呢数组任意数据的目的!!! 例子 :----如下图 ↘ (5) 举例如何通过指针访问二维数组元素 答:通过指针访问二维数组有两种方法,第一种方法是使用像访问一维数组时的方式定义指针然后将数组的首地址赋值给指针然后通过指针的自运算利用地址的偏移实现对任意数组元素的访问,也可以使用for循环的嵌套实现对数组的行和列的控制进而实现对数组的访遍历》》》》》》》》》》》》》;;;;;;;;;;第二种方法就是定义一个数组指针然后使这个指针指向这个数组,利用数组指针的运算达到数组元素的访问。下面是两种方法在vc6.0 IDE下面的代码截图 ::::::: 第一种方法:↘ 第二种方法:↘ (6) 简述字符数组和字符串指针的异同 答:字符数组和字符串指针在定义,和使用以及内存分配方面都有很多的不同; 第一 (1)定义的方法不同,字符数组在定义时必须要有数组的长度的分配所以程序员在使用时必须要考虑到实际所要用到的长度,例如要使用有四个字母的字符数组最少要用到5个长度。 (ps:因为字符串后面都要有结束标志字符’\0’)而字符串指针就不存在这个问题,程序员在定义时赋值可以任意的赋值而不需要考虑到内存长度问题。 例:↓ 第二 (2)内存分配方法不同,在程序运行时字符串指针是分配在常量区的 ,也就是字符串指针所指向的字符数据在常量区也就是字符串指针在定以赋值后事无法在进行改变了。但是字符数组的空间分配实在栈区的,所以字符数组在定义后是可以多次进行赋值的。但是每个数组在创建时所生成的以数组名定义的指针是一个不可更改值的地址常量(ps:指向数组的第一个元素的地址)这一点一定要区分清楚。 第三 (3)后期使用不同,通过上面的内存分配原理我们不难理解在后期的使用中字符数组是可以多次赋值的,但是字符串指针的值是不能改变的!! (7)简述指针数组和数组指针的各自特点 答:指针数组与数组指针本身属性就是两个不同的概念,指针数组本身就是一个数组,不同的是数组内部的每个元素存储的都是指针的类型。但是数组指针本身却是个指针,只是这个指针的指向有点特殊,它每次指向的都是二维数组的行首地址和每行的地址偏移量所以叫他数组指针。 指针数组的特点是数组内部的每

您可能关注的文档

文档评论(0)

187****5045 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档