首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

2维数组的疑惑,该怎么解决

2013-11-25 
2维数组的疑惑我定义一个二维数组如下:int (*pA)[COLSIZE] new int[ROWSIZE][COLSIZE]//正确我不想用ne

2维数组的疑惑
我定义一个二维数组如下:

int (*pA)[COLSIZE] = new int[ROWSIZE][COLSIZE];//正确

我不想用new了,直接用malloc,出现如下错误。
 int (*pA)[COLSIZE] =(int *[COLSIZE]) malloc(sizeof(int) * ROWSIZE * COLSIZE);//错误

 error C2440: “类型转换”: 无法从“void *”转换为“int *[5000]”
请问是什么原因呢?我的强制转化出错了吗? c mallco
[解决办法]
int (*pA)[COLSIZE] =(int( *)[COLSIZE]) malloc(sizeof(int) * ROWSIZE * COLSIZE);

加一个括弧就好了。
int (*)[]括弧是语法的一部分。
[解决办法]

(int (*)[COLSIZE]) malloc .......

热点排行