gpt4 book ai didi

c++ - 多维数组动态分配内存图

转载 作者:行者123 更新时间:2023-11-28 00:53:11 24 4
gpt4 key购买 nike

这里介绍两种动态分配我所知道的多维数组的方法:

int (*numbers)[4] = new int[3][4]

int **numbers = new int*[3]; 

这两个在内存中代表的是同一个东西吗?。实际上,它们代表什么以及如何代表?(内存图真的很有帮助!)

最佳答案

不是,第一个会创建12个int(3*4),在内存中它们会按顺序排列。第二个创建 3 个指向整数的指针

即第一个将像这样布置

[1,2,3,4][5,6,7,8][9,10,11,12]

所以你有 3 4 个整数元素数组,而第二个例子看起来更像

[0x12345678,0x12345678,0x12345678]

即,3 个未初始化的整数指针

关于c++ - 多维数组动态分配内存图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12926945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com