【发布时间】:2018-10-08 23:57:59
【问题描述】:
鉴于下面的数据集和底部显示的答案 (b36d5c),如何计算 &ptr[3] 的这个值。我只是无法确定它所指的数据集的哪个区域以及如何将大小添加到该区域,但我知道答案是正确的。
sizeof(int) = 4
数据集从 0xb36d00 开始,大小为 128。 0xb36d00: 48 6d b3 00 00 00 00 00 4c 6d b3 00 00 00 00 00 Hm......Lm...... 0xb36d10: 50 6d b3 00 00 00 00 00 30 6d b3 00 00 00 00 00 Pm......0m...... 0xb36d20: 04 6d b3 00 00 00 00 00 50 6d b3 00 00 00 00 00 .m......Pm...... 0xb36d30: 18 6d b3 00 00 00 00 00 1c 6d b3 00 00 00 00 00 .m.......m...... 0xb36d40: 48 6d b3 00 00 00 00 00 58 6d b3 00 00 00 00 00 嗯......Xm...... 0xb36d50: 44 6d b3 00 00 00 00 00 4c 6d b3 00 00 00 00 00 Dm......Lm...... 0xb36d60:00 6d b3 00 00 00 00 00 0c 6d b3 00 00 00 00 00 .m....... 0xb36d70: 68 6d b3 00 00 00 00 00 30 6d b3 00 00 00 00 00 hm......0m...... int array[] 存储在:0xb36d00 int *ptr 存储在:0xb36d28 短 *shortPtr 存储在:0xb36d28 int x 存储在:0xb36d38 短 y 存储在:0xb36d14 int ***由以下定义: (int ***)(((int **)0xb36d0c) + 2) &ptr[3] 的值是多少? b36d5c【问题讨论】:
-
in the image然后我们发明了文本以及复制/粘贴功能。 -
我们不知道
sizeof(int),因为您的问题没有指定平台。常见的int大小为 2 和 4 字节。 -
用 sizeof(int) 更新。在这种情况下,它是 4。@Stargateur 图像是因为复制和粘贴会使格式混乱。
-
@ejscribner:您可以在粘贴的文本周围放置
<pre>和</pre>标签以保持其格式。 -
@TurboJ:你不需要
int的大小。&ptr[3]是ptr+3,以字节表示,ptr加上指向int的指针大小的三倍。
标签: c pointers memory dynamic-memory-allocation