我無法理解下面的代碼。enum無法理解內存和功能
#include<stdio.h>
enum x_t{a,b,c,d};
main()
{
enum y{ x=3};
a=x;
printf("a=%d\n",a);
printf("x=%d\n",x);
printf("c=%d\n",c);
}
點什麼我不清楚是: 1 - 爲什麼枚舉不能被分配到其他枚舉,他們是常數如果不是常量,然後我可以指定一個數字來枚舉? 2 - 當我們可以直接訪問一個沒有x_t的值時,需要爲枚舉分配一個標籤,我知道它是用於設計中的標識符目的,但是如果有的話,是否會有任何分配此標籤的內存?在數據段中分配?
我可以這樣做下面的代碼,這是第一點要求。
#include<stdio.h>
enum x_t{a,b,c,d};
main()
{
a=3;
printf("a=%d\n",a);
printf("x=%d\n",x);
printf("c=%d\n",c);
}
請幫我理解enum的內存結構,爲什麼它的行爲不變。 錯誤我得到的是需要作爲分配的左操作數
左值
這個問題真的是「什麼是枚舉?」這是你應該從C教程獲得的東西,而不是SO帖子。 –