您的位置:首页 > 编程语言 > C语言/C++

C语言学习零碎整理(5):关于char指针p和char s[]的区别

2008-08-30 16:02 471 查看
 
char *p="abc"作为一个常量,存放在空间的数据区,其内容不可改变(在win tc和tc3.0中可以改变,但在vc++6.0 中不可以。在ANSI C中,是不可以改变的)

 

char s[]="abc"存放在栈内,其内容可以改变

char *p="abc"  ;//如果程序中企图通过指针p来修改字符串“abc”的内容,那该程序不可移植。

char s[]="abc" ;//可移植的写法。

 指针p 指向常量字符串“wen”(位于静态存储区,内容为wen/0),常量字符串的内容是不可以被修改的。从语法上看,编译器并不觉得语句p[0]= ‘X’有什么不妥,但是该语句企图修改常量字符串的内容而导致运行错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  语言 c 编译器 存储