您的位置:首页 > 编程语言 > C语言/C++

C/C++中的const与define

2015-08-12 20:10 393 查看
const

int main()
{
const int a;
int const b;
const int *c;
int * const d;
const int * const e ;
return 0;
}


含义:

第一个第二个意思一样 代表一个常整形数

第三个 c是一个指向常整形数的指针(所指向的内存数据不能被修改,但是本身可以修改)

第四个 d 常指针(指针变量不能被修改,但是它所指向内存空间可以被修改)

第五个 e一个指向常整形的常指针(指针和它所指向的内存空间,均不能被修改)

结论:

C语言中的const变量

C语言中const变量是只读变量,有自己的存储空间

C++中的const常量

可能分配存储空间,也可能不分配存储空间

当const常量为全局,并且需要在其它文件中使用

当使用&操作符取const常量的地址

const 与#define

void fun1()
{
#define a 10
const int b = 20;
//#undef a  # undef
}

void fun2()
{
printf("a = %d\n", a);
//printf("b = %d\n", b);
}

int main()
{
fun1();
fun2();
return 0;
}


C++中的const常量与宏定义不同

const常量是由编译器处理的,提供类型检查和作用域检查

define宏定义由预处理器处理,单纯的文本替换
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  const c++