如何在struct初始化中使用#define

DoT*_*DoT -4 c

我不知道标题是否足够清晰,所以这就是我想要做的.我想用a #define来定义struct中数组的大小.

我这样做,但它不想工作:

#ifndef DEF_MAIN
#define DEF_MAIN

#define TAILLE_TAB = 100;

typedef struct Personne Personne;
struct Personne
{
    char nom[TAILLE_TAB];
    char prenom[TAILLE_TAB];
    int age;
};

#endif
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误.

如果我改为:

{
    char nom[100];
    char prenom[100];
    int age;
};
Run Code Online (Sandbox Code Playgroud)

然后它工作......
为什么第一个解决方案不起作用?=(
不能对同一文件上的代码使用#define VAR?

Jam*_*lin 8

你的语法错了,它是:

#define TAILLE_TAB 100
Run Code Online (Sandbox Code Playgroud)

  • @SoJJu downvotes(我不参与其中)可能反对你(显而易见的)缺乏研究.这是基本语法,很快就会被Google搜索发现. (4认同)