|
1
5
这里只有一个分配。这个
请注意
C有可变长度数组(VLA),但它们不能在结构中声明,只能在函数参数列表或函数内的块中声明。 |
|
|
2
3
我想明确说明其他答案中隐含的重要部分:
它接收字节数作为输入,并返回一个指针,该指针后面至少有那么多字节可寻址。
所以
我们可以修改一下你的代码(我有点作弊,因为在我的机器上
从内存中的值可以很容易地看到结构在内存中的布局,可以注意到数组嵌入到内存布局中。
我又增加了16字节的内存
|
|
3
1
|
|
|
4
1
的内存
造成混淆的原因是数组有时会衰减为指针,反之亦然。这方面的一个例子是
|
|
|
cha · 为什么在C中,int变量需要“&”运算符,而数组不需要?[副本] 11 月前 |
|
GPWR · C文件管理器的高效链表设计 11 月前 |
|
|
Egemen Yalın · C我可以使用刚刚释放的数据吗 1 年前 |