使用struct的正确方法

use*_*467 0 c struct

我有:

char player_one[10];

printf("Enter name for first player:\n");
scanf("%s",player_one);

struct player
{
char name[MAX_NAME_LEN+1];
enum colour col;
};
Run Code Online (Sandbox Code Playgroud)

在我的.h文件中声明,但是当我尝试在.c文件中创建一个新的播放器时.即 -

player p1 {player_one, blue}
Run Code Online (Sandbox Code Playgroud)

编译器说错误:未知类型名称'播放器'

Jay*_*hoi 8

struct关键字之前需要player.

struct player p1 {...,...}
Run Code Online (Sandbox Code Playgroud)

或者您可以使用typedef来避免struct关键字.

喜欢

typedef struct 
{
    char name[MAX_NAME_LEN+1];
    enum colour col;
}player;
Run Code Online (Sandbox Code Playgroud)

player p1 {player_one, blue}
Run Code Online (Sandbox Code Playgroud)