请教大家几道C语言的问题

1、解释下面三个变量的const含义char*constp;charconst*p;constchar*p;2.unsignedchar*p1;unsignedlong*... 1、解释下面三个变量的const含义
char * const p;
char const * p;
const char *p;
2.unsigned char *p1;
unsigned long *p2;
p1=(unsigned char *)0x801000;
p2=(unsigned long *)0x810000;
请问p1+5=
p2+5=
3. void foo(int b[][3])
{ ++b;
b[1][1]=9;
}
main()
{ inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};
foo(a);
printf("%d",a[2][1]);}
请问输出多少?麻烦高手做一下 啊,简单一说为什么?谢谢啦
展开
 我来答
df601562566
2013-10-12 · TA获得超过503个赞
知道小有建树答主
回答量:351
采纳率:100%
帮助的人:366万
展开全部
1、const 你看const在谁的前面,谁就不能改。
char * const p; p是常量,不能改这个指针p,也就是之后不能对p赋值。
char const * p; *不能改,就是p指向的char变量不能改。const char a; p=&a; a不能改。
const char *p; 同上
2、指针加1,就是指针加上 sizeof(指针指向的类型);char的指针+5就是加上5个char的位置0x801005。
long的指针+5就是加上5个long的位置0x801020。
3、输出9.
yke108
2013-10-12 · 超过15用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:24.3万
展开全部
1、
char * const p;表示地址不变,地址内容可变;
const char *p;表示地址可变,地址内容不变;
char const * p;应该也是地址可变,地址内容不变(不确定)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式