【发布时间】:2017-09-24 13:13:32
【问题描述】:
如果字符的最大容量是256,如何存储1000个字符数组? 是否可以声明: 字符s[1000];
【问题讨论】:
-
是的,可以声明
char s[1000];。 -
“最大容量”是什么意思?
-
一个典型的
char可能有 256 个值中的 1 个。 array 中元素的数量可以是[1...SIZE_MAX). -
@tarun Gupta 您可能对限制应用程序架构师和内存存储之间存在混淆:当您创建静态数组时,将存储在 PE .data/ .rdata /.bss 部分的堆栈中你的二进制文件。使用 new、malloc ... 时的动态数组将直接在堆上分配。
-
单个字符中可以存储的值的数量与字符数组的大小无关。 C 并不是使用字符串的第一个字节来存储字符串的长度。 (某些语言,例如 Pascal,在某些实现中确实使用了这种技巧。)