指针指向字符串和数组储存字符串区别

定义了一个指向字符串的指针,str是在栈上分配的变量,储存的地址对应的是在常量区中分配的空间。"aafg"是存储在常量区里面,

是不能改变的。char *str 其实存在一种 const char *类型的隐式转换,而strcpy要做的改变常量,所以程序编译的时候没错,运行的

时候就出错了。

这个程序和上面的程序的区别就是在于字符串存储的位置,定义了一个数组,在栈上分配空间。就是修改也是普通的数组赋值。

所以程序不会报错。

posted @ 2011-05-16 12:57  Livesss  阅读(330)  评论(0编辑  收藏  举报