define和const

#define LIMIT 100

这个方法是在预编译的时候进行字符置换,把程序中出现的标识符LIMIT置换为100。

LIMIT不是变量,没有类型,不占用存储单位,而且容易出错。

const int LIMIT = 100;

这个LIMIT是有类型的,占用存储单位,有地址,可以用指针指向它,但是不能修改它。

 宏没有地址,而++操作是先从内存取值到寄存器 然后寄存器加一后再写入内存中必然涉及如地址操作

 

 

原文地址:https://www.cnblogs.com/juanzhi/p/12703180.html