读书人

给字符串数组赋值运行时异常咋回事

发布时间: 2013-09-08 15:21:21 作者: rapoo

给字符串数组赋值,运行时错误,怎么回事
如下代码:
两种情况,为什么一种可以,另外一种不可以?

#include <iostream>
using namespace std;

int main()
{
char *c = "hello world ";
*c = 't'; // false why?

char d[] = "hello world ";
d[0] = 't'; // ok why?

return 0;
}
字符串 指针 赋值
[解决办法]

char *c = "hello world ";
*c = 't'; // false why?
// 常量字符串, 存放在静态去,内容不可更改

char d[] = "hello world ";
d[0] = 't'; // ok why?
// 一般情况下是栈区, 内容可改

//推荐楼主看看内存管理这方面的知识

读书人网 >C语言

热点推荐