深圳粮食集团待遇:弱若的问一个白痴问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 18:28:54
#include <iostream.h>
#include <string.h>

int main()
{
char *abc;

strcpy(abc, "asdfasdf");

return 0;
}
为什么编译后会弹出对话框“某某内存不能为WRITTEN”?
我觉得语法没错阿,为什么用字符数组可以,但字符指针就不行呢?

因为你没有为初始化abc,所以abc是指向的一个不确定的地址.Windows的内存保护机制是不允许你随意将某个空间赋值的.你可以这样改:
char *abc=new char[n];
完了用delete []abc;删除就够了。

这是什么语?

也可以这样
char abc[255];//其实也不要255,只要觉得够大就行
strcpy(abc,"asdfdfadf");