首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

字符数组有关问题

2012-02-26 
字符数组问题char *pc mike//定义一个指向字符数组的指针,并初始化为“mike”*pc n //通过pc取得

字符数组问题
char *pc ="mike";//定义一个指向字符数组的指针,并初始化为“mike”
*pc = 'n' ; //通过pc取得数组第一个元素,然后赋值‘n’
运行时出错,T_T。。。不知道他的致命伤是?

[解决办法]
char *pc ="mike";//
-----
"mike"是常量字符串,不能被修改
*pc = 'n' ; //修改操作,错误

C/C++ code
    char szArr[10] = "mike";    szArr[0]  =   'n';
[解决办法]
char *pc ="mike";//定义一个指向字符数组的指针,并初始化为“mike”
//*pc指向常量字符串“mike”,没问题
*pc = 'n' ; //通过pc取得数组第一个元素,然后赋值‘n’
 // *pc未分配空间,无法赋值
[解决办法]
C/C++ code
void main(){    char  *pc = "mike";        assert(!IsBadReadPtr(pc, strlen(pc) + 1));    assert(!IsBadWritePtr(pc, strlen(pc) + 1));        *pc = 'n';    } 

热点排行