搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 求const相关问题的答案
标题:
求const相关问题的答案
只看楼主
ZQDragon
等 级:
论坛游民
帖 子:30
专家分:39
注 册:2010-6-8
结帖率:
85.71%
楼主
已结贴
√
问题点数:20 回复次数:5
求const相关问题的答案
#include<stdio.h>
#include<windows.h>
int main()
{
char *str;
str="12345";
*str='a';
puts(str);
system("pause");
}
请问为什么字符指针str不是const型指针却能接受“12345”的赋值,但当运行到*str='a'时却访问为例;
明显是把str当成const指针处理嘛
搜索更多相关主题的帖子:
const
2010-06-13 22:03
BJ_BOY
等 级:
业余侠客
威 望:
1
帖 子:77
专家分:225
注 册:2010-2-4
第
2
楼
得分:5
你的代码错误在于:
#include<stdio.h>
#include<windows.h>
int main()
{
char *str; /* str中的值为NULL */
str="12345"; /* str指向存储于“文字常量区”的字符串*/
*str='a'; /* 修改文字常量区的操作在编译时不会出错,但在执行时显然会出错。因为"12345"在“常量”区*/
puts(str);
system("pause");
return 0; /*既然main函数有返回值,则一定会记得return值*/
}
2010-06-13 22:12
kingmacrobo
来 自:HUST
等 级:
论坛游民
帖 子:39
专家分:49
注 册:2010-6-1
第
3
楼
得分:5
同意楼上
2010-06-13 22:26
ZQDragon
等 级:
论坛游民
帖 子:30
专家分:39
注 册:2010-6-8
第
4
楼
得分:0
“12345”是常量指针,为什么还能付给非const的str呢?
2010-06-13 22:30
kingsroot
等 级:
蜘蛛侠
威 望:
1
帖 子:284
专家分:1159
注 册:2010-3-28
第
5
楼
得分:10
回复 4楼 ZQDragon
“12345”不是常量指针,是“12345”这个字符串在只读内存空间里面 只能读 不能写
2010-06-13 22:33
ZQDragon
等 级:
论坛游民
帖 子:30
专家分:39
注 册:2010-6-8
第
6
楼
得分:0
谢谢 ,懂了
2010-06-13 22:53
6
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-310207-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.154928 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved