字符数组问题
char *pc ="mike";//定义一个指向字符数组的指针,并初始化为“mike”
*pc = 'n' ; //通过pc取得数组第一个元素,然后赋值‘n’
运行时出错,T_T。。。不知道他的致命伤是?
[解决办法]
char *pc ="mike";//
-----
"mike"是常量字符串,不能被修改
*pc = 'n' ; //修改操作,错误
char szArr[10] = "mike"; szArr[0] = 'n';
[解决办法]
char *pc ="mike";//定义一个指向字符数组的指针,并初始化为“mike”
//*pc指向常量字符串“mike”,没问题
*pc = 'n' ; //通过pc取得数组第一个元素,然后赋值‘n’
// *pc未分配空间,无法赋值
[解决办法]
void main(){ char *pc = "mike"; assert(!IsBadReadPtr(pc, strlen(pc) + 1)); assert(!IsBadWritePtr(pc, strlen(pc) + 1)); *pc = 'n'; }