C语言指针变量可以用指向此变量的指针修改其值?

whistler@su-ge:~/Desktop$cattest.cwhistler@su-ge:~/Desktop$cattest.c#include<stdio.h>... whistler@su-ge:~/Desktop$ cat test.c
whistler@su-ge:~/Desktop$ cat test.c
#include<stdio.h>
void main(void)
{
const int a=5;
int *b=&a;
printf("%d\n",a);
*b=8;
printf("%d\n",a);
}
whistler@su-ge:~/Desktop$ gcc test.c
test.c: In function ‘main’:
test.c:5: warning: initialization discards qualifiers from pointer target type
whistler@su-ge:~/Desktop$ ./a.out
5
8
whistler@su-ge:~/Desktop$

以上是我在gcc下编译运行的一段代码,其中的warning是什么意思?
展开
 我来答
cn_tigers
推荐于2017-09-11 · TA获得超过800个赞
知道小有建树答主
回答量:343
采纳率:0%
帮助的人:262万
展开全部
定义const 变量,这个可能会有问题。。。在vc下被编译器报error 了。

initialization discards qualifiers from pointer target type
初始化B的时候丢弃了A的const类型的限定

void main(void)
{
const int a=5; //在&a;之前a并没有分配内存,而是将其值放入了常量表中,并建立了对应关系,以后用到a的时候直接去常量表中查询。const变量应该跟一般变量是分开放的。
int *b=&a; //不得不给a分配内存,并让b指向了a,你强制这样做的结果.
printf("%d\n",a);
*b=8; //强制把8放到给A分配的地址中。
printf("%d\n",a); //这儿输出各个编译器的处理可能都不一样。如果从常量里面表里面查询可能得出的还是5.。。。VC直接二句报错。
}
百度网友38c8e98
2011-01-16 · TA获得超过2658个赞
知道小有建树答主
回答量:1131
采纳率:0%
帮助的人:591万
展开全部
warning是警告,说明有存在一些问题,但是不是致命的,编译还是可以通过
你上面的代码,两次的值是一样的,因为b是指针的指针,你要把*b=8 改成**b=8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
圣鸾OJ
2015-10-04 · TA获得超过1629个赞
知道小有建树答主
回答量:1136
采纳率:96%
帮助的人:114万
展开全部
定义const 变量,这个可能会有问题。。。在vc下被编译器报error 了。

initialization discards qualifiers from pointer target type
初始化B的时候丢弃了A的const类型的限定

void main(void)
{
const int a=5; //在&a;之前a并没有分配内存,而是将其值放入了常量表中,并建立了对应关系,以后用到a的时候直接去常量表中查询。const变量应该跟一般变量是分开放的。
int *b=&a; //不得不给a分配内存,并让b指向了a,你强制这样做的结果.
printf("%d\n",a);
*b=8; //强制把8放到给A分配的地址中。
printf("%d\n",a); //这儿输出各个编译器的处理可能都不一样。如果从常量里面表里面查询可能得出的还是5.。。。VC直接二句报错。
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一生有你乀
推荐于2017-09-15 · 知道合伙人生活技巧行家
一生有你乀
知道合伙人生活技巧行家
采纳数:354 获赞数:39113
武汉科技大学的一名在校生,喜欢打球三国杀看书练字。

向TA提问 私信TA
展开全部
  例如:
  int a=10; //a是一个整形标识符,通过a,能够操作内存当中一块4字节长的空间。
  int* p=&a;//p是一个整形指针符,里面储存的是a的内存地址。
  *p=5; //这里*p的意思就是操作p储存那块4字节的内存,效果和a=5相同。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式