首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

memset.解决方案

2012-05-05 
memset...今天看见一个帖子写memset的,里面有点东西不是太懂,问问大家~~C/C++ codeint main(){char *sTh

memset...
今天看见一个帖子写memset的,里面有点东西不是太懂,问问大家~~

C/C++ code
int main(){    char *s="This is a test!!";    memset(s,'G',6);//提示内存访问冲突,改成char s[50]="This is a test!!";通过    printf("%s",s);    return 0;}


为什么改了之后就没问题了?最开始s做为常量了???

[解决办法]
s不是常量,s指向的字符串是常量。
[解决办法]
对于这个问题,微软的编译器将s指定的那块内存标记为const,不允许进行改写。
改为char s[50]="This is a test!!",这就定义了一个非const的字符数组,随便你怎么修改。
[解决办法]
探讨

引用:

s不是常量,s指向的字符串是常量。

指针定义,会把字符串当做常量放入程序存储空间??

热点排行