gpt4 book ai didi

C,一个数组需要的内存空间是否比它的元素更多?

转载 作者:太空宇宙 更新时间:2023-11-04 05:34:40 26 4
gpt4 key购买 nike

假设我们有一个大小为 40 的字符数组,

char buffer[40];

其次,假设这个数组已满,有人向其中写入了 40 个字符。

因此,我们可以说这个数组的元素占用 40 个字节,因为每个字符是 1 个字节。

我的问题是:我们的数组实际上在内存中占用了多少空间?它会占用 40 字节或更多空间吗?是否需要额外的位来将此数组标识为 char 类型,是否需要额外的位来允许空终止?如果是这样,可能是我们需要更多类似 ~42 字节的东西来将这个数组存储在内存中。

因此,我想知道我是否可以可靠地将 40 个字符的数组放入分配了 40 个字节的内存空间中。

最佳答案

与 Java 或 C# 等语言不同,C 在运行时不存储任何类型元信息。因此,char[40] 恰好需要 40 个字节。

关于C,一个数组需要的内存空间是否比它的元素更多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43019425/

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