const在C和C++中定义数组时的不同

#include<stdio.h>

int main() {
	int arr1[10];//C与C++中都可以

	int sz1 = 10;
	int arr2[sz1];//C与C++中都不可以
	
	const int sz2 = 10;
	int arr3[sz2];//C中不可以,C++中可以	

	system("pause");
	return 0;
}

原因:

  • 数组定义的规定是维度必须是 常量
  • 在C语言中,const 修饰的标识符具有常属性,不能被直接修改,但本质依然是一个变量
  • 在C++中,const修饰的标识符就是常量。

【相关知识点】

注意在C中还有define定义的标识符常量

#include<stdio.h>
#define sz 10

int main() {
	int arr4[sz];//C与C++中都可以

	system("pause");
	return 0;
}
全部评论

相关推荐

牛客316659795号:不是,证明hr初筛已经过了,要投给部门筛一遍
点赞 评论 收藏
分享
03-29 12:10
门头沟学院 C++
挣K存W养DOG:散漫消极者淘汰,一眼坑爹。实习几个月转正的时候说你加班太少,能力还行态度不够积极裁了,马上老实。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务