#define a 10 和int a=10有什么区别
感觉两者并没有区别啊 printf(“%d”,a)打出来不都一样吗
感觉两者并没有区别啊 printf(“%d”,a)打出来不都一样吗
2016-09-10
#define a 10是宏定义,其格式为#define 标识符 字符串
宏定义就是把一段长代码(字符串)define定义成一个短的关键词,以后下面程序要多次用到那段长代码的时候,直接用关键词代替,减少代码量,还有在出错维护的时候也只要把define后的字符串修改,全文的关键词也就变了,方便维护
int a = 10;仅仅是定义一个int类型的变量并赋值为10,在内存中开拓了一块区域
宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头,你说print出来没有什么区别是对的,但一般在项目中不这样用,凡事都有规则嘛!
他们之间的区别是:
宏定义不分配内存,变量定义分配内存。
宏定义是C提供的一种预处理机制,预处理是在编译之前的处理(你后面会接触到)
举报