您的位置:首页 > 其它

char *s1 = "hello"和char s2[]="world"的区别

2012-10-05 15:28 393 查看
转自:http://zhidao.baidu.com/question/65483282.html

两者的区别悬殊!
char *s1="hello"这个是一个字符串常量,你可以像一个字符数组一样使用它,但是你不能更改这个字符串的值比如 s1[2]='e'这样不行,s1 放在全局数据区。
char s2[]="world";是一个字符串变量,可以被修改,s2 是函数的栈空间区域,函数执行完成,这个空间就没了。

这两者再作函数的形参的时候是完全等价的。
void function(char *s1);
void function(char s1[]);
可以相当绝对的说这两种完全等价,没有任何区别。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: