私のコードはコンパイルされて実行されますが、まだ lint エラー メッセージが表示されます。
--- Module: LunchMenu_main.c (C)
} lunch[LUNCHES] =
LunchMenu_main.c: warning 956: (注 -- 非 const、非揮発性 static または外部変数 'lunch')
非定数の static および外部変数の使用が示されていますが、それらの使用には多くの落とし穴があり、他に合理的な解決策がない場合を除き、使用を避ける必要があります。これらの種類の変数を回避する方法はありますか、またはこのエラーを修正するためにこれらの変数が必要ですか? これが私のコードです:
struct Food
{
char *name;
int weight, calories;
} lunch[LUNCHES] =
{{(char *)"apple", 4, 100}, {(char *)"salad", 2, 80}};
int main(void)
{
int counter;
struct Food *foodPtr = &lunch[0];
printf("%-10s %-10s %-10s\n", "name", "weight", "calories");
for (counter = 0; counter < 2; counter++)
{
foodPtr = &lunch[counter];
printf("%-10s %-10d %-10d\n",
foodPtr->name, foodPtr->weight, foodPtr->calories);
}
return 0;
}