是什么名字?

时间:2013-08-01 17:40:02

标签: c arrays string pointers char

我应该如何在c编程中调用它:

char *fileNames[3] = {"string1", "string2", "string3"};

指针数组,指向字符串的数组,还是什么?

在其他地方寻找答案并不是很懒惰,而是我找不到它。

更新1 :我已经调用了上述(无论是什么)fileNames,因为我实际上是用它来存储文件名,但它可能是我的问题。

感谢你们进行了大量的辩论,但是有很多答案甚至很难确定哪一个对我来说是正确的。

4 个答案:

答案 0 :(得分:6)

您通常可以从右到左阅读简单的 C / C ++声明,但您应该遵循Clockwise/Spiral Rule

这是一个指向字符的指针数组。

答案 1 :(得分:6)

名称fileNames是一个3 char*(char指针)的数组,指向声明中的3个字符串文字。它被称为:'char'指针数组或'字符串数组',因为每个索引都指向一个字符串。你应该让它们保持不变:

const char *fileNames[3] = {"string1", "string2", "string3"};

答案 2 :(得分:3)

对于这类问题,有cdecl。在英语中,您的类型是

declare fileNames as array 3 of pointer to char.

答案 3 :(得分:0)

您可以将其称为

  

字符指针数组