分析指针数组与数组指针的区别和应用

 我来答
百度网友e096309
2017-04-04 · TA获得超过1327个赞
知道小有建树答主
回答量:501
采纳率:96%
帮助的人:416万
展开全部

区别很容易解释:

指针数组 是 数组,它里面每个元素都是个指针……

数组指针 是 指针,它指向一个数组……


应用嘛,这个就比较发散了。。。。一个存指针的数组的应用就是开放式哈希表,就是利用链表解决冲突的那种哈希表啦。比如长度为5的哈希表就是长这个样子的:

ListNode* hashtable[5]; //声明长这个样纸
//未来存储的结构大概是这个样纸
0->10->5->15->NULL
1->111->21->6->16->NULL
2->27->17->2->NULL
3->13->8->NULL
4->4->14->19->NULL


指向数组的指针,具体应用场景我还真的一时半会想不出来简单的,但有个乒乓机制应该是实际项目会用到的。

具体场景就是多线程环境下,有一个数组int p[100]供多个线程访问(其他线程只读取这个数组)。

但是这个数组需要定时更新,内容从文件中来。读文件相对来说还是比较耗时。我们不想在更新数据的时候让其他线程等待太久。

为了达到这个目的,可以设置两个一样大的数组int A[100]和int B[100],对外提供一个指针int *p,它一开始指向A数组(p = A;),时间到了就读取数据到B数组,并将指针p指向B数组(p = B)。下次时间到则读取数据到A数组,并让p指向A数组。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式