结构数组

The*_*Boy 1 c linux arrays gcc struct

这是结构:

typedef struct state_machine{
char name;
struct state_machine *next0;
struct state_machine *next1;
}state;
Run Code Online (Sandbox Code Playgroud)

这是我试图创建它们的数组

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}}; 
Run Code Online (Sandbox Code Playgroud)

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

预期的标识符或'('''''之前的标记

Rik*_*yay 5

改成:

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}}; 
Run Code Online (Sandbox Code Playgroud)

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

  • @ user3365695:阅读答案.你可能忘记改变例如`state + 4`到`states + 4`. (2认同)