1
5
这里只有一个分配。这个
请注意
C有可变长度数组(VLA),但它们不能在结构中声明,只能在函数参数列表或函数内的块中声明。 |
2
3
我想明确说明其他答案中隐含的重要部分:
它接收字节数作为输入,并返回一个指针,该指针后面至少有那么多字节可寻址。
所以
我们可以修改一下你的代码(我有点作弊,因为在我的机器上
从内存中的值可以很容易地看到结构在内存中的布局,可以注意到数组嵌入到内存布局中。
我又增加了16字节的内存
|
3
1
|
4
1
的内存
造成混淆的原因是数组有时会衰减为指针,反之亦然。这方面的一个例子是
|
TheKing · 为什么数组的地址可以有负值? 2 年前 |
yurnero · MATLAB:“加载”一个快速访问功能 6 年前 |
joe · 一页可以同时在两个工作集中吗? 6 年前 |
Jaques · “.exe”已触发断点 6 年前 |
adn bps · 在函数中修改变量的高效内存方法 6 年前 |
Gauraang Khurana · C语言中分段错误的不稳定行为 6 年前 |
Rajesh K · 如何查找设备中存在的广告垃圾? 6 年前 |