C中符号常量用宏定义和const有什么区别

如题所述

相同点:两者的值都不能被修改
不同点:作用的范围不同,宏定义的变量在整个程序,而且定义时不需要写出变量类型,const则需要
举个例子,#define
N
100和const
int
N=100;
宏定义的变量可以是任意类型,甚至是一个代数表达式
在任意一个函数中都可以使用N,都代表100
而const定义的变量虽然值不能修改,但也只能在定义该变量的函数体
内使用,除非定义的是全局变量
它们之间的差别不是很大,如果你想定义一个变量作用整个程序,就采用
宏定义的形式,之后如果你想修改这个变量,直接在定义出修改即可,当然
用const定义一个全局变量也能达到相同的目的
【原创答人】
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-09
define:定义预编译时处理的宏;
只进行简单的字符替换,无类型检测
const:定义程序中的常量,编译时处理;
常量修饰符,把变量定义为常量本回答被提问者采纳