2023.6.10-常量的分类及使用(有疑问)

常量的分类:

1.字面常量

2.const修饰的常变量。

本质仍然是变量,但是具备了常属性。例如“

int n = 10;

这是一个变量,在程序中【a】仍然可以被赋予别的数值。但是,

const int a = 10;

这就变成了一个常变量,这使得【a】在程序中不可被修改,成为了一个只读值——在后续的程序中,可以使用【a】也可以打印【a】,但唯独不可以更改【a】的数值。

分享一个例程:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//常量的分类:
//1.字面常量
//const修饰的常变量
#define a 10//此处为第三种类型的常量
int main()
{
	
	//int n = 10;
	//const int a = 10;//一旦变量前加入了const修饰,那么【a】就变成了常变量。
	int arr[a] = { 0 };//arr是个数组
	printf("%d\n", arr);

	return 0;
}

在上述例程中,定义一个数组arr,数组中的元素个数为10,

当我们采用

int n = 10;

去定义元素个数时,程序运行报错。

当我们再用以下这种方式去定义的时候

const int a = 10;

 程序可以运行。

3.define定义的标识符常量

在这个例程中,采用

#define a 10

的方式来定义a也能收到同样的效果。

4.枚举常量

enum Sex//【enum】为枚举函数
{
	//枚举的未来可能取值-三个枚举常量
	male,
	female,//枚举的元素之间用【,】隔开
	secret//枚举的最后一个元素末尾没有符号
};//注意符号
int main()
{
	//enum Sex s = male;//创建一个枚举变量【s】,【s】的取值范围是【Sex】内的三个枚举常量
	printf("%d\n",male);
	printf("%d\n",female);
	printf("%d\n",secret);
	return 0;
}

首先打印一下结果:

由此可见,枚举常量是默认被赋值的。这里可以在枚举函数处对枚举的元素赋初值。如下图所示: 

 注意:赋初值并不算改变常量的值。

困惑:

enum Sex s = male;//创建一个枚举变量【s】,【s】的取值范围是【Sex】内的三个枚举常量

这行代码有啥用???删了一样能跑。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值