次のコードを書きます。
#define GATE(name, num)do{\
name##list[num] = #name;\
}while(0)
char* name[] = {"hello", "world", "byebye"};
int i;
for(i = 0; i < 3; i++)
{
GATE(name[i],0);
}
明らかに、必要なものを取得できず、 にGATE(name[0],0)
置き換えられますhellolist[0] = "hello"
がname[0]list[0] = "hello"
、gcc エラーが発生する可能性があります。
マクロを使って自分の作りたいものを作る方法を知りたいです。