字符串指针修改问题

字符串的定义方式有两种,直接先上代码:

第一种:

char num[20] = "hello";
	*num = '0';     //可行
	num[1] = '0';   //可行
	cout<<num<<endl;</span>

第二种:

char* num = "hello";
	*num = '0';     //错误
	num[1] = '0';   //错误
	cout<<num<<endl;</span>
对于第一种方式:

char w[] = "hello";

"hello"保存在栈空间数组里. 数组名为w, 函数名为数组的首地址.
可以通过w[i]='a', 或*(w+i)='a'的形式来修改数组内容.

对于第二种方式:

char *m = "hello";

"hello"保存在文字常量区,该数据不能修改,默认有只读属性.
由指针m指向. 不能通过指针m来修改此值.

上一篇:使用R完成决策树分类


下一篇:mysql优化----大数据下的分页,延迟关联,索引与排序的关系,重复索引与冗余索引,索引碎片与维护