C语言中const C语言中const和C++中的const 区别介绍

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

C语言中const C语言中const和C++中的const 区别介绍

  2021-03-24 我要评论
想了解C语言中const和C++中的const 区别介绍的相关内容吗,在本文为您仔细讲解C语言中const的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:C语言中const和C++中的const对比,C中const和C++中的const,比较,C中const和C++中的const,区别,下面大家一起来学习吧。

C语言中const和C++中的const 区别详解

C++的const和C语言的#define都可以用来定义常量,二者是有区别的,const是有数据类型的常量,而宏常量没有,编译器可以对前者进行静态类型安全检查,对后者仅是字符替换,没有类型安全检查。

而C语言中的const与C++也有很大的不同,在C语言中用const修饰的变量仍是一个变量,表示这个变量是只读的,不可显示地更改,而在C++中用const修饰过后,就变成常量了。例如下面的代码:

const int n=10;
int a[n];

这两行代码在C语言中会报错,因为声明数组时的数组长度必须是常量,而这里面的n在C语言中是变量。而在C++中用const修饰过后,n就已经等同于一个常量了,因此可以通过。

再看下面的代码:

const int a=3;
int* p=&a;
*p=4;

这种情况在C++中是不允许的,原因在于a用const修饰后,已经成为常量了,因此是不允许被修改的,无论是显式的更改a的值或是通过其它方法修改它的值都是不允许的。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们