数据结构中经常使用枚举类型来表示数据中的常量值。
关键词:C语言有32个关键词,比如intcharfloat
C语言有上百个标准库函数,分布在不同的库文件中。目前,大多数系统和程序肯定与C99标准兼容,但2011年已经发布了更新版本,一些遗留系统可能不一定支持最新的功能。不同的功能有不同的应用。是否说哪些比较常用,要看你的工作性质。
一般来说,至少在基本编程中,stdio中的I/O(要么是控制台,要么是文件),stdlib中的各种通用工具(比如分配堆内存),string中的字符串处理,
是的。
以C语言为例,在内存中创建一个字符串,至少需要一个char数组来存储,因为要存储结束标识符;枚举实际上是一个结构,里面的枚举项可以定义为整数,比字符串的存储更方便,成本更低。
而且字符串作为枚举时容易拼错,枚举都定义为数值常量,编译器编译时容易发现错误,提示开发者及时改正,方便维护。
Java编程中有。
如果可以选择,使用enum是比String更好的方法。它的性能比String好,而且也是类型安全的。如果参数集是有限的并且在编译时已知,则使用enum。但是如果参数集是未知的或者在编译时是开放的,那么除了使用字符串之外别无选择。
结论是会有性能损失。
主要比较两个对象。
枚举可以理解为singleton。直接比较对象时,可以简单理解为整数对象比较。时间复杂度为1。
字符串,实际上用的是equals方法,你看了代码应该知道它是逐字符比较的。时间复杂度为n,字符串越长越耗时。
作为map的键,或者使用switch语句,这样的性能差别不小。
损失不大的性能损失最大的在于磁盘IO和网络IO。
那里这真的没必要担心。自己测试一下就好了。