• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > 枚举和宏的区别详细解析

枚举和宏的区别详细解析

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了弘和宏的区别,vba和宏的区别,函数和宏的区别,excel函数和宏的区别,鸿和宏的区别等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

枚举常量与宏的区别主要有几点:

1。枚举常量是实体中的一种,但宏不是实体;

2。枚举常量属于常量,但宏不是常量;

3。枚举常量具有类型,但宏没有类型,枚举变量具有与普通变量相同的诸如作用域、值等性质,但宏没有,宏不是语言的一部分,它是一种预处理替换符。枚举类型主要用于限制性输入,例如,某个函数的某参数只接受某种类型中的有限个数值,除此之外的其它数值都不接受,这时候枚举能很好地解决这个问题。能用枚举尽量用枚举,否则在调试的时候你是看不到当时的值的。

4。用宏去定义一个变量如果你定义了一个相同的变量那么要看谁在前面,如果宏在前面变量会产生编译错误,而且这个错误很难查找,如果那个宏隐藏的很深的话。如果你定义的变量在前那么更可怕了,直接没有错误,但是宏定义被自定义的变量悄悄替换了。用枚举定义的话不管你定义的顺序前后关系怎样都会产生重复定义的错误。从上面的举例来看枚举比宏好用的多。宏还有一个特性是没有作用域,这里的作用域是指宏定义以后的代码都可以使用这个宏。宏可以被重复定义这个可能导致宏的值被修改。所以建议不要用宏去定义整形的变量,用枚举或者const。又会有用const还是枚举呢,世界一向如此纠结,枚举只能表示整形,const可以修饰任何类型。整形的情况下如果你要定义几种有关系的数值那么用枚举,否则用const。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 枚举和宏的区别详细解析

相关文章

  • 2017-05-28C语言实现将字符串转换为数字的方法
  • 2017-05-28C++并查集亲戚(Relations)算法实例
  • 2017-05-28va_list(),va_start(),va_arg(),va_end() 详细解析
  • 2017-05-28简介C++编程中的运算符重载
  • 2017-05-28数据结构之数组Array实例详解
  • 2017-05-28C语言双向链表实现根据使用频率安排元素位置的功能实例代码
  • 2017-05-28C语言实现返回字符串函数的四种方法
  • 2017-05-28浅析int*p[ ]与int(*p)[ ]的区别
  • 2017-05-28c语言链表操作示例分享
  • 2017-05-28C语言中判断int,long型等变量是否赋值的方法详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • java实现任意四则运算表达式求值算法
    • C++设计模式编程中Facade外观模式的使用实例解析
    • 解析C++编程中的#include和条件编译
    • C++编写DLL动态链接库的步骤与实现方法
    • C++中I/O模型之select模型实例
    • C++基础教程之指针拷贝详解
    • 数据结构之位图(bitmap)详解
    • C 语言指针变量详细介绍
    • C# 使用反射来实现对象的深度复制方法
    • C++如何通过ostringstream实现任意类型转string

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有