memcpy用法
char* ch[][3]={ "0000 "};//strlen(ch[0][0])=4
char* src= "abc ";
memcpy(ch[0][0],src,strlen(src));
编译结果出错 ,不知道怎么回事.
[解决办法]
memcpy(ch[0][0],src,strlen(src));
----
memcpy(&ch[0][0],src,strlen(src));
memcpy的第一个参数是 char * 类型,需要指针。
[解决办法]
char* ch[][3] 没有分配内存
[解决办法]
char* ch[][3]={ "0000 "};是用字符串常量 "0000 "的首地址作为ch[0][0]的初始值。所在以ch[0][0]起始的这段内存在常量区,不可写。
[解决办法]
char* ch[][3]={ "0000 "};//strlen(ch[0][0])=4
不知道这是要干什么?
代码做了这样一件事,声明了一个二维指针数组,并把“0000”的首地址赋值给了第一个元素
char* src= "abc ";
memcpy(ch[0][0],src,strlen(src));
// 这里相当于改写“0000”这块内存,而其是常量不允许写