#define n 5和int n=5有什么区别?

来源:百度知道 编辑:UC知道 时间:2024/07/02 19:15:22
RT

#define n 5  :n在函数里一直等于5,是常量.
int n=5  :n是变量,在函数里可以重新赋值。

  1. #define是宏定义的意思

  2. 宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名,这只是一种简单的代换,字符串中可以含任何字符,可以是常数,也可以是表达式,预处理程序对它不作任何检查。如有错误,只能在编译已被宏展开后的源程序时发现。

  3. 宏定义不是说明或语句,在行末不必加分号,如加上分号则连分号也一起置换。

  4. 宏定义其作用域为宏定义命令起到源程序结束。如要终止其作用域可使用#undef命令。

#define n 5 :n在函数里一直等于5.
而int n=5 :n是变量,在函数里可以重新赋值。

#define n 5是一个宏定义,编译程序将宏定义的内容认为是字符串,没有任何实际的物理意义,而只做替代,即将5替换n;int n=5表示整型变量的初始化,即将整数5赋给n;前者的n替换为5是固定不变的,后者的n在程序中可变。

前者是宏定义,是常量,一般都是数据比较复杂时用,如#define n 3.141592,以后3.141592就可以用n代替,后者n是变量,可以进行各种运算,如n=n++后,n=6

#define n 5是宏定义,在编译时候完成,实现简单替换,遇到n就变成5
int n=5 是变量初始化。在程序运行时完成,实现对变量的初始化工作,其值可以改变。