[bo][un]newyj[/un] 在 2008-11-12 22:33 的发言:[/bo]
*str1="123343534654646" 只是存储了 字符串的 首地址
也就是 sizeof str1 4个字节
首先认为你说的是对的 ,不过是这样 语句strcpy(d,s);
就一定不是简单的把 指针的值修改了,因为那样就不会溢出,
第二点就是
char *s="Golden Global View";
这样的语句 ="Golden Global View";编译的时候应该存储在文字常量区,那么 strcpy(d,s);就一定不可把 字符串内容复过去,因为这等同于修改常量区,这是不允许的
(我刚学c++,这一点也不是很确定)
这两点 看似矛盾 ,我感觉
这就不可以
用 char *s="Golden Global View";
这种形式定义数组
,只能用
char s【】=“Golden Global View”这种形式才行 ,因为这样的话s的内容是可以改变的
还有一个就是 我就 strcpy函数的本质不是很懂
,到底是 只是改变指针的值
,还是直接把值复了过去
?
望指教
我
QQ494000816
希望加我讨论