现在,当我打印 block 数组中的每个元素时,每个元素都有相同的地址。例如:
ints: 20 bytes stored at 0xbffa84fc
doubles: 80 bytes stored at 0xbffa84fc
chars: 8 bytes stored at 0xbffa84fc
Students: 1008 bytes stored at 0xbffa84fc
最佳答案
blk->addr = &blk;
分配的内存的地址实际上是blk本身。但在这里,您使用的是 &blk
,即 blk
的地址。
关于c - malloc函数将所有数据分配到同一内存地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26599460/