c - 结构数组

标签 c arrays linux gcc struct

结构如下:

typedef struct state_machine{
char name;
struct state_machine *next0;
struct state_machine *next1;
}state;

这是我尝试创建一个数组

state[] states = {
      {'A', state+3, state+4},
      {'B', state,   state+5}, 
      {'C', state+4, state  }, 
      {'D', state+5, state+6}, 
      {'E', state+1, state+7}, 
      {'F', state+7, state+3}, 
      {'G', state+2, state+6}, 
      {'F', state+6, state+1}}; 

编译器在第一行捕获错误,"state[] states = { "

预期标识符或“[”标记前的“(”

最佳答案

更改为:

state states[] = {
      {'A', states+3, states+4}, //You probably meant states, since state is a type
      {'B', states,   states+5}, 
      {'C', states+4, states  }, 
      {'D', states+5, states+6}, 
      {'E', states+1, states+7}, 
      {'F', states+7, states+3}, 
      {'G', states+2, states+6}, 
      {'F', states+6, states+1}}; 

C 中,[] 应该在变量名之后,而不是在类型之后。

关于c - 结构数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22100704/

相关文章:

c - 如何获取进程入口点地址

arrays - "Array to string conversion"错误 Laravel - 尝试将数组保存到数据库

linux - 我正在尝试使用 .bashrc 在 Linux 上为 JDK 设置 JAVA_HOME 和路径。但是它说 [ Error writing .bashrc : Permission denied ]. 为什么?

python - 使用 python 正则表达式提取子字符串

c - 如何使用 C 阻止退格键出现在 nCurses 中?

c - 以下代码中的表达式语法错误

c - 如何在 main 中返回指针到指针的指针?

php - 没有使用外键将数据插入数据库

javascript - 如何将一个元素添加到另一个数组内的数组中

linux - 如何在 Linux 上用纯 Go 实现 "file -s <file>"?