サイズ 16 の構造体の配列を宣言する必要があります。
typedef struct node
{
int tokenvalue;
struct node *next;
char *n;
} node;
node *dummy=(node *)malloc(26*sizeof(node));
ノードダミー[26]も使用すると、セグメンテーション違反が発生します。私は何をすべきか?
サイズ 16 の構造体の配列を宣言する必要があります。
typedef struct node
{
int tokenvalue;
struct node *next;
char *n;
} node;
node *dummy=(node *)malloc(26*sizeof(node));
ノードダミー[26]も使用すると、セグメンテーション違反が発生します。私は何をすべきか?
You can't initialize objects having static storage with anything non compile-time constant. Leave it uninitialized and assign some memory to it in a function.
main()
非定数値またはコンパイル時に決定できない値でグローバル変数を初期化することはできないため、関数で初期化してみてください。
または、次のように宣言することもできます
node dummy[27];
malloc を使用する代わりにグローバル変数として (サイズが一定の場合)。