两句话的困惑
我今天看书的时候遇到了这样一个问题,char *s="hlooz";中的“hlooz”编译时候指针指向的区域位于PE文件的.rdata节中,是只读的,比如:main()
{
char*s="sads";
char a[]="sasa";
*(a+2)='x';(是正确的)
*(s+2)='x';(编译通过,但运行时出错)
}
但是我在其他的书中看过的却有这样的解说:char *PS=“dsadsa”;*(ps+2)='m';说的是可以用如下的语句来修改字符串。
这样我就有点糊涂了,这到底是怎么回事?
希望高手帮忙解决一下!
谢谢了呀!