推出一系列重大举措:弱若的问一个白痴问题

来源:百度文库 编辑:神马品牌网 时间:2024/05/15 19:04:35
#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");