33,311
社区成员
发帖
与我相关
我的任务
分享
int M;
int N;
cin >> M >> N;
int arr[M][N];
using namespace boost::numeric::ublas;
matrix<char> rlname(100,30);
using namespace boost::numeric::ublas;
matrix<long> re(2,2);
re(0,0)=1;re(0,1)=0;re(1,0)=0;re(1,1)=1;//一个单位矩阵
int m,n,**p;
cin>>m>>n;
p=new int*[m];
for(int i=0;i<m;++i)//for allocate memory
{
*p+i=new int[n];
}
....
Process your program;
for(int j=0;j<m;++j)//for free the heap memory
{
delete []p[j];
}
delete []p;
#define N 10
#define M 50
int *pLine;//指向数组的指针
int **ppCow;//指向指针数组的指针
//申请
ppCow = new int *[N];
for(int i = 0; i < N; i++)
{
pLine = new int[M];
ppCow[i] = pLine;
}
//释放
for(int i = 0; i < N; i++)
{
delete []ppCow[i];
}
#undef M
#undef N
#include <stdio.h>
#include <malloc.h>
int main() {
char **rlname;
//malloc!
rlname = (char**)malloc(100 * sizeof(char*) );
for (int j = 0; j < 100; j++)
{
rlname[j] = (char*) malloc(30 * sizeof(char) );
}
//free
for (int j = 0; j < 100; j++)
{
free(rlname[j]);
}
free(rlname);
}
int row, column;
int i;
char ** rlname;
printf("Please input row:");
scanf("%d", &row);
rlname = (char **)malloc(sizeof(char *) * row);
printf("Please input column:");
scanf("%d", &column);
for(i=0; i<column; i++)
rlname[i] = (char *)malloc(sizeof(char) * column);
int row, column;
int i;
char ** rlname;
printf("Please input row:");
scanf("%d", &row);
rlname = (char **)malloc(sizeof(char *) * row);
printf("Please input column:");
scanf("%d", &column);
for(i=0; i<column; i++)
rlname[i] = (char *)malloc(sizeof(char) * column);
void main()
{
char **p=new char*[100];//先在一维上分配
for(int i=0;i<100;i++)
p[i]=new char[30];//再在二维上分配
//////////////////
for(int j=0;j<100;j++)
delete p[j];//先在二维上释放
delete p;//再释放一维的
}