DEV C++下古怪的二维堆数组

彭昊-青山翠 2021-07-18 21:39:54

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字节型的二维堆数组呢?

...全文
619 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
彭昊-青山翠 2021-07-19
  • 打赏
  • 举报
回复

再次对这个问题进行研究,发现是我理解错误.
语句:TYPE (Array)[x]=(TYPE ()[Array[x]])malloc(y*z);可以正常使用.
语句中的x值是二维数组的第二个下标,而我理解成了第一个下标了.惭愧!

赵4老师 2021-07-19
  • 打赏
  • 举报
回复 2

TYPE为unsigned char,z为1

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧