#define a 10 和int a=10有什么区别

来源:2-7 不可改变的常量

kiwilee0406

2016-09-10 14:18

感觉两者并没有区别啊   printf(“%d”,a)打出来不都一样吗

写回答 关注

2回答

  • JustWannaHugU
    2016-09-10 14:26:22
    已采纳

    #define a 10是宏定义,其格式为#define 标识符 字符串

    宏定义就是把一段长代码(字符串)define定义成一个短的关键词,以后下面程序要多次用到那段长代码的时候,直接用关键词代替,减少代码量,还有在出错维护的时候也只要把define后的字符串修改,全文的关键词也就变了,方便维护

    int a = 10;仅仅是定义一个int类型的变量并赋值为10,在内存中开拓了一块区域

    宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头,你说print出来没有什么区别是对的,但一般在项目中不这样用,凡事都有规则嘛!

    他们之间的区别是:

    宏定义不分配内存,变量定义分配内存。

    宏定义是C提供的一种预处理机制,预处理是在编译之前的处理(你后面会接触到)


    kiwile...

    非常感谢!

    2016-09-10 15:47:22

    共 1 条回复 >

  • 月意
    2016-09-10 15:46:01

    #define a 10是一个常量,无法改变


    int a=10 是一个变量,可以改变

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926020 学习 · 20793 问题

查看课程

相似问题