指针练习的一些解读4

 首先我们看到第一题的A选项,此处的关键是在使用一个free释放掉一个指针内容后,指针变量的值不会被自动置为NULL。

我们看到下面的图片主要讲解了一些动态内存开辟的相关内容,

图中 malloc 的作用是给某个变量赋予空间

使用变量自行操作

free的作用在上面我们谈到是释放已经被赋予空间的变量,将被赋予的空间清空,使其不会占用过多无用内存。

关键点:free函数在释放完一个指针内容后不会将变量置为NULL。因为p的地址在释放完后依然存在。

第二题的关键就是将字符串放入指针时候,指针中存放的是字符串首元素的地址,即是第一个字符的地址,即h的地址

 故该题选C

此题的目的是让我们正确认识到数组指针和指针数组的区别,首先我写一个指针数组给大家看看,比方说int* arr[10],此处方格的优先级是先于*号,所以数组名arr先与[ ]结合形成数组,然后再与int*结合,故其称之为指针数组,即数组名先与[ ]结合就称为指针数组,指针数组的作用是数组中存放的是int*类型的元素,即存放指针。

举个数组指针的例子,比如 int(*arr)[ ],此处因为有括号的影响所以arr先于*结合形成指针,然后再与数组结合,数组指针的作用就是存放数组地址的指针。

故该题选C

此题可参考第三题

答案为C,char*(*arr)[10]为存放char*类型数组的指针。

 

答案为A

 

答案为B

 

答案为D,因为&arr为数组arr一整个数组的地址,若要存放一整个数组的地址应该用数组指针存放,而D中p=&arr则是用一个整数指针存放,故为错误的。

 

答案为AC

&arr指的是一整个数组arr的地址,而arr指的是数组arr首元素的地址 

答案为C

相关解题方法第三题有讲到

第十题 

因为str1和str2是不同的数组,所以str1和str2有两种不同的地址

str3和str4指向的都是字符串首字符h的地址,所以str3和str4相同

答案为C

 代码如下

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值