在c++语言中char***p是什么意思?

 我来答
guxuecan剑
2019-02-12 · TA获得超过3.1万个赞
知道答主
回答量:86
采纳率:0%
帮助的人:1.6万
展开全部

char* 是声明一个字符类型的指针。

比如:chat*  y;

就是声明一个指针y,这个指针指向的地址上只能存放字符类型的值。

扩展资料:

在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。

在高级语言中,指针有效地取代了在低级语言,如汇编语言与机器码,直接使用通用暂存器的地方,但它可能只适用于合法地址之中。指针参考了存储器中某个地址,通过被称为反参考指针的动作,可以取出在那个地址中存储的值。

作个比喻,假设将电脑存储器当成一本书,一张内容记录了某个页码加上行号的便利贴,可以被当成是一个指向特定页面的指针;根据便利粘贴面的页码与行号,翻到那个页面,把那个页面的那一行文字读出来,就相当于是对这个指针进行反参考的动作。

suguliwei
2013-05-23
知道答主
回答量:17
采纳率:0%
帮助的人:13.7万
展开全部
char ***p代表三重指针,我们举个简单的例子,char c_val = 'e';char *p1, **p2, ***p;
因为上面都是变量,于是编译器都给它们分配了不同的内存空间,假设c_val的地址是0x12345678,
p1的地址是0x1234567c,p2的地址是0x12345680,p的地址是0x12345684,当执行p1 = &c_val时,
p1地址处,即0x1234567c处存放的数据是0x12345678,同理当执行p2 = &p1时,p2地址(即0x12345680)
处存放的数据是p1的地址(0x1234567c),当执行p = &p2时,p地址(即0x12345684)处存放的
数据为p2的地址(0x12345680)。于是p 即为0x12345680,*p为0x12345680处数据,即为
0x1234567c,**p 为*p所指向地址处的数据,*p为(0x1234567c),*p地址处即是0x1234567c地址处,
0x1234567c地址处数据为0x12345678,即**p为0x12345678,同理***p即是**p地址处的数据,
即0x12345678地址处数据,0x12345678地址存放的数据时'e',即***p为'e'。希望上面的分析可以帮到你。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cpucash
2013-05-22 · TA获得超过1584个赞
知道小有建树答主
回答量:1457
采纳率:66%
帮助的人:971万
展开全部
三层指针,相当于三维数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
haiyaojing
2013-05-21 · 超过37用户采纳过TA的回答
知道答主
回答量:160
采纳率:0%
帮助的人:108万
展开全部
看楼下吧
我潜水
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式