为什么需要在C中的字符串数组中声明字符串的长度?

用户名

为什么编译器知道多少字符串但不知道它们包含多少字符?例如,这有效:

char songs[][30]{ 
  "A string", 
  "Another string" 
}; 

而且这个没有:

char songs[][]{ 
  "A string", 
  "Another string" 
};
腐烂

如果您可以使用常量字符串,那么就不可以。

const char *strings[] = {
    "foo",
    "bar",
    "baz",
    "quux",
};

唯一需要给它提供字符串长度的时间是,如果您尝试制作chars的二维数组,例如

char strings[][5] = {
    "foo",
    "bar",
    "baz",
    "quux",
};

C可猜测的最外尺寸,但在阵列中的项目必须是完整的类型和阵列char未知长度的是不完整的,但两者char[5]const char *是。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++数组中字符串的长度

来自分类Dev

c中的字符串数组声明

来自分类Dev

为什么我需要在Web配置文件中定义连接字符串

来自分类Dev

为什么铸造或泛型的使用需要在Java中添加字符串到的ArrayList?

来自分类Dev

为什么需要在createToken方法中传递字符串?

来自分类Dev

JavaScript中字符串数组的长度

来自分类Dev

为什么在Dart中声明字符串是大写的?

来自分类Dev

c中的固定长度字符串数组

来自分类Dev

为什么从字符串返回的空数组在golang中的长度为1?

来自分类Dev

在C中,按字符串长度对字符串数组进行排序

来自分类Dev

C中的任意长度字符串

来自分类Dev

C ++中字符串的动态长度

来自分类Dev

C中的任意长度字符串

来自分类Dev

C中的字符串长度评估

来自分类Dev

字符串数组需要声明吗?

来自分类Dev

在C中声明字符串的区别

来自分类Dev

为什么字符串索引在JavaScript数组中合法?

来自分类Dev

为什么字符串长度应该加上它在 C 中的容量?

来自分类Dev

我需要在java中拆分字符串吗?

来自分类Dev

为什么我们需要在 python 中的 f 字符串周围放置撇号?

来自分类Dev

Python为什么要在字符串中添加特殊字符?

来自分类Dev

字符串中字符串的固定长度

来自分类Dev

为什么字符串在C ++中变成整数?

来自分类Dev

为什么它不在 c 中验证字符串

来自分类Dev

为什么要在数组中为var返回一个字符串索引?

来自分类Dev

C ++中的sizeof字符串数组

来自分类Dev

在C中创建字符串数组

来自分类Dev

C ++中的全局字符串数组

来自分类Dev

遍历c中的字符串数组