字符定义所需的内存空间

数学狂人
char txt[20] = "Hello World!\0";

上面的定义分配了多少字节?考虑一个char占用1个字节,一个占用int2个字节。请注意,只有一个", 并且\0在最后。如何计算上述定义占用了多少字节?

斯蒂芬·莱克纳

语句char txt[20]="Hello World!\0"实际上包括两部分,定义部分和初始化部分。char txt[20]定义部分告诉编译器保留 20 个字符大小的元素(在本例中为 20 个字节),而不管稍后您将使用什么内容初始化数组。初始化部分="Hello World!\0"然后用literal 的字符“预填充”保留的内存Hello World!\0请注意,实际上没有必要\0在字符串中明确写入,因为字符串文字本身由\0-character终止所以你应该写char txt[20]="Hello World!". 如果字符串字面量的长度小于分配的内存就可以了;如果用于初始化的字符串文字的长度超过数组的长度,您至少会收到一个编译器警告。

但是请注意,如果您编写char txt[]="Hello World!",则保留的内存长度将与初始字符串文字的长度完全相同。

关于数组初始化,您可以咨询cppreference.com关于“变量定义”与“变量声明”的讨论,我发现这个SO 答案非常有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ExcelDNA内存空间

来自分类Dev

可以解决的最大内存空间

来自分类Dev

ArangoDB索引需要多少内存空间?

来自分类Dev

计算无序映射占用的内存空间

来自分类Dev

函数会占用内存空间吗?

来自分类Dev

linux 64位内存空间大小?

来自分类Dev

重用malloc()分配的内存空间

来自分类Dev

SQLCipher数据占用更多的内存空间?

来自分类Dev

可以解决的最大内存空间

来自分类Dev

SQLCipher数据占用更多的内存空间?

来自分类Dev

并发性:共享相同的内存空间

来自分类Dev

即使为null,静态字符串变量也会占用内存空间吗?

来自分类Dev

内核虚拟内存空间和进程虚拟内存空间

来自分类Dev

重新分配内存并在C中的重新分配的内存空间中添加字符串

来自分类Dev

如何查找“进程”占用的大小/内存空间

来自分类Dev

fork()系统调用和进程的内存空间

来自分类Dev

多级页表如何节省内存空间?

来自分类Dev

XTS数据占用过多的内存空间?

来自分类Dev

管道的写操作会覆盖分配的内存空间

来自分类Dev

我可以通过指针访问受限的内存空间吗

来自分类Dev

使用realloc扩展使用malloc占用的内存空间?

来自分类Dev

函数中有什么占用内存空间?

来自分类Dev

使用malloc函数查找可用内存空间

来自分类Dev

Swift境界,关系和内存空间错误

来自分类Dev

从 Hwnd 检索文本并释放分配的内存空间

来自分类Dev

内存映射 I/O:I/O 空间与内存空间中的控制寄存器

来自分类Dev

我已经分配了足够的内存空间,但是在写入大约69个字符后,出现访问冲突

来自分类Dev

布局内存时,编译器是否已考虑内核内存空间?

来自分类Dev

为什么Linux上的动态链接的可执行文件在其自己的内存空间中具有libc的完整内存空间?

Related 相关文章

  1. 1

    ExcelDNA内存空间

  2. 2

    可以解决的最大内存空间

  3. 3

    ArangoDB索引需要多少内存空间?

  4. 4

    计算无序映射占用的内存空间

  5. 5

    函数会占用内存空间吗?

  6. 6

    linux 64位内存空间大小?

  7. 7

    重用malloc()分配的内存空间

  8. 8

    SQLCipher数据占用更多的内存空间?

  9. 9

    可以解决的最大内存空间

  10. 10

    SQLCipher数据占用更多的内存空间?

  11. 11

    并发性:共享相同的内存空间

  12. 12

    即使为null,静态字符串变量也会占用内存空间吗?

  13. 13

    内核虚拟内存空间和进程虚拟内存空间

  14. 14

    重新分配内存并在C中的重新分配的内存空间中添加字符串

  15. 15

    如何查找“进程”占用的大小/内存空间

  16. 16

    fork()系统调用和进程的内存空间

  17. 17

    多级页表如何节省内存空间?

  18. 18

    XTS数据占用过多的内存空间?

  19. 19

    管道的写操作会覆盖分配的内存空间

  20. 20

    我可以通过指针访问受限的内存空间吗

  21. 21

    使用realloc扩展使用malloc占用的内存空间?

  22. 22

    函数中有什么占用内存空间?

  23. 23

    使用malloc函数查找可用内存空间

  24. 24

    Swift境界,关系和内存空间错误

  25. 25

    从 Hwnd 检索文本并释放分配的内存空间

  26. 26

    内存映射 I/O:I/O 空间与内存空间中的控制寄存器

  27. 27

    我已经分配了足够的内存空间,但是在写入大约69个字符后,出现访问冲突

  28. 28

    布局内存时,编译器是否已考虑内核内存空间?

  29. 29

    为什么Linux上的动态链接的可执行文件在其自己的内存空间中具有libc的完整内存空间?

热门标签

归档