大佬教程收集整理的这篇文章主要介绍了c – 允许枚举的标识符是什么意思?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#include <stdio.h> int main() { enum answer {NO,YES}; enum gender {MALE,FEMALE}; enum answer a = 5; /* Assign an invalid value. */ printf("answer: %d\n",a); a = MALE; /* Assign a value of wrong type */ printf("answer: %d\n",a); return 0; }
这是输出:
$gcc -std=c99 -pedantic -Wall -Wextra enum.c $./a.out answer: 5 answer: 0
如果枚举不会导致类型检查,那么语法如何:
enum [identifier] {enumerator-list}
我使用答案和性别作为我的枚举的标识符.允许这种语法是什么意思?
我的意思是这个代码可以写得很好
enum {NO,YES}; enum {MALE,FEMALE};
允许这种语法是什么意思?
enum answer {NO,YES}; enum gender {MALE,FEMALE};
因为在C中,枚举实际上等同于int.它是像这样的标准,只是太多的程序依赖于这种行为来改变.
在C中,它们是不同的类型,编译器抱怨:
$g++ -Wall -Wextra a.c a.c: In function 'int main()': a.c:8:24: error: invalid conversion from 'int' to 'main()::answer' [-fpermissive] a.c:11:14: error: cAnnot convert 'main()::gender' to 'main()::answer' in assignment
我的快速猜测将是前向兼容性.
以上是大佬教程为你收集整理的c – 允许枚举的标识符是什么意思?全部内容,希望文章能够帮你解决c – 允许枚举的标识符是什么意思?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。