TYPE (*Array)[x]=(TYPE (*)[Array[x]])malloc(y*z);
以上语句,当TYPE为bool,char类型且z=4时可以创建一个可以正常使用的4字节型二维堆数组.
当TYPE为unsigned short类型且z=8时可以创建一个可以正常使用的8字节型二维堆数组.
当TYPE为int类型且z=16时可以创建一个可以正常使用的16字节型二维堆数组.
那么如何才能创建1字节型的二维堆数组呢?
再次对这个问题进行研究,发现是我理解错误.语句:TYPE (Array)[x]=(TYPE ()[Array[x]])malloc(y*z);可以正常使用.语句中的x值是二维数组的第二个下标,而我理解成了第一个下标了.惭愧!
TYPE为unsigned char,z为1
70,037
社区成员
243,246
社区内容
加载中
试试用AI创作助手写篇文章吧