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;
}
全部评论

相关推荐

赏个offer求你了:友塔HR还专门加我告诉我初筛不通过😂
点赞 评论 收藏
分享
挣K存W养DOG:入职送金条全球游,路过缅甸停一下🐔
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务