指针和数组问题char *str[50]; str=new char[10][50];为什么出错啊 指针和数组问题char *str[50]; str=new char[10][50];为什么出错啊我的意识是:我知道第二维数组的长度不知道第一维数组的长度如何动态产生第一维数组的长度 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 指针和数组问题char *str[50]; str=new char[10][50];// 类型不符,一个指针数组,一个是固定的二维数组可以改为如下一段程序即可: for(int i=0;i<50;i++) str[i]= new char[10]; for(int i=0;i<50;i++) delete[] str[i]; char** str;int n1,n2;//第一维和第二维的长度str=new char*[n1];for(int i=0;i<n1;i++){ str[i]=new char[n2];} (接上)释放内存时这么写for(int i=0;i<n1;i++){ delete[] str[i]; str[i]=NULL;}delete[] str;str=NULL; 动态分配是表示需要时才分配。定义变量num;num=0;需要分配时:str[num]=new char[50];num++;删除时: delete[] str[num]; 初学MFC,添加关联变量的问题 求一个选课系统,最好用C++写的 CEdit::LineIndex 大家帮忙看看!! CDialogBar的停靠问题 怎样把拷屏得到的图片保存的小一点呢,每张容量都那么大 要改好大一段程序,郁闷, 散分! OpenGL中颜色问题? c++ 无法找到MainFrm.h 在VC里面如何能查看全局变量的当前值? 如何在视图中加入按钮
可以改为如下一段程序即可:
for(int i=0;i<50;i++) str[i]= new char[10];
for(int i=0;i<50;i++) delete[] str[i];
int n1,n2;//第一维和第二维的长度
str=new char*[n1];for(int i=0;i<n1;i++)
{
str[i]=new char[n2];
}
for(int i=0;i<n1;i++)
{
delete[] str[i];
str[i]=NULL;
}
delete[] str;
str=NULL;
定义变量num;num=0;需要分配时:
str[num]=new char[50];
num++;删除时: delete[] str[num];