1

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

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

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

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

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

谢谢你的激烈辩论,但有这么多的答案,甚至很难决定哪个是适合我的。

4

4 回答 4

6

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

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

于 2013-08-01T17:42:30.710 回答
5

该名称fileNames 是一个由 3 个(字符指针)组成的数组,char*它们确实指向声明中的 3 个字符串文字。它被称为:“指向 char 的指针数组”或“字符串数组”,因为每个索引都指向一个字符串。您应该使它们保持不变:

const char *fileNames[3] = {"string1", "string2", "string3"};
于 2013-08-01T17:43:33.840 回答
4

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

declare fileNames as array 3 of pointer to char.
于 2013-08-02T06:49:40.707 回答
0

你可以把它称为

字符指针数组

于 2013-08-01T17:55:46.537 回答