64,641
社区成员
发帖
与我相关
我的任务
分享
//动态分配二维数组,大小为(width+2)*(height+2)
BYTE** extends=(BYTE**)malloc(sizeof(BYTE*)*(height+2));
for(int y=0; y<height+2; y++)
{
extends[y]=(BYTE*)malloc(sizeof(BYTE)*(width+2));
}
memset(extends,0,sizeof(extends));
//进行赋值
extends[0][0]=0;
//动态分配二维数组,大小为(width+2)*(height+2)
BYTE** extends=(BYTE**)malloc(sizeof(BYTE*)*(height+2));
for(int y=0; y<height+2; y++)
{
extends[y]=(BYTE*)malloc(sizeof(BYTE)*(width+2));
}
//不能用memset。。extends是一个BYTE*数组,这里memset意味着对extends清0
//也就是这height+2个指针全部置为NULL,下边的赋值操作当然出错。。
//memset(extends,0,sizeof(extends));
//进行赋值
extends[0][0]=0;
//动态分配二维数组,大小为(width+2)*(height+2)
BYTE** extends=(BYTE**)malloc(sizeof(BYTE*)*(height+2));
for (int y=0; y<height+2; y++) {
extends[y]=(BYTE*)malloc(sizeof(BYTE)*(width+2));
memset(extends[y],0,sizeof(BYTE)*(width+2));
}
extends[ 0][ 0]=1;
extends[ 0][width+2-1]=2;
extends[height+2-1][ 0]=3;
extends[height+2-1][width+2-1]=4;
for (int y=0; y<height+2; y++) {
free(extends[y]);
}
free(extends);