【发布时间】:2020-06-28 20:17:32
【问题描述】:
我对 C 很陌生。
我应该做一个简单的单词搜索拼图,所以对于“字典”我做了:
char **dictionary = {"DOG", "ELEPHANT", "CAT", "ETC", ""};
但是当我尝试编译时,我收到一条警告,指出字典中每个单词的“标量初始值设定项中的多余元素”。 char ** 是否初始化错误?我该怎么做?
编辑:我的函数接收 char **dictionary。
提前致谢。
【问题讨论】:
-
使用
char **dictionary或char** dictionary,而不是char ** dictionary。 -
它会正确警告您,因为它是指向 char 的指针而不是指向 char 指针数组的指针。
-
@RobertHarvey 为什么不呢?详细说明。
-
@P__J__:快速浏览一下 Internet 上的编码标准。其中绝大多数有两条规则;它们实际上是:1. 使用
int *ptr,以及 2. 每行一个声明。只有一种情况在星号之后的和之前出现空格:const int * const p1 = &something; -
@RobertHarvey ... 请 ....
static inline void dump_skb (char * prefix, unsigned int vc, struct sk_buff * skb) {- 形成 Linux 源代码。个人喜好。我使用你的“格式”,但其他人更喜欢别的东西,我不反对