【C语言】常量

本文介绍了C语言中的四种常量类型:数字常量、const修饰的常量、#define定义的标识符常量和枚举常量。const修饰的常量虽不可修改,但仍是变量;而#define定义的宏在编译时替换,实际为常量。枚举常量提供了一种列出所有可能值的方式,并可以从0开始自动赋值。
摘要由CSDN通过智能技术生成

C语言中常量一般分为四种

1.字面意思的常量——数字

2.const修饰的常量

(1)const修饰后值不可修改

(2)虽然具有常属性,但其实仍不是常量

3.#define定义的标识符常量

4.枚举常量——enum


1.字面意思的常量——数字

int main()
{
	66;
	88;
	return 0;
}

像上图的66和88就是常量。

2.const修饰的常量

(1)const修饰后值不可修改

先看一条没有const的代码:

此处的a先初始化为20

然后a可以+20

最终打印出来的a值为40

int main()
{
	int a = 20;
	a += 20;
	printf("%d\n", a);

	return 0;
}

再看一条有const的代码:

此时a的下面有一条波浪线,说明系统在检查错误

const函数具有常属性,比如上面的const int a=20,就拥有常量的属性。

因为a前面有const,所以a是一个不可以修改的值

此代码有问题,会报错

(2)虽然具有常属性,但其实仍不是常量

int main()
{
	//const int a = 20;

	int arr[20] = { 1,2,3 };

	return 0;
}

 如果不用arr[a],而是用arr[20],程序就可以正常运行。

 这就说明虽然具有常属性,但它仍然是变量,而不是常量

3.#define定义的标识符常量

继续以上述的代码举例

如果刚刚的int arr[a]={1,2,3}会报错,是因为const int a本质上还是个变量

那么让arr[NUM] 运行成功不就能说明#define定义的标识符其实是个常量

#define NUM 20
int main()
{
	int arr[NUM] = { 1,2,3 };
	for(int i=0;i<3;i++)
	    printf("%d\n", arr[i]);
	return 0;
}

4.枚举常量——enum

枚举的意思就是把所有的可能性给列出来

enum weekday
{
	Monday,
	Tuesday,
	Wednesday,
	Thursday,
	Friday,
	Saturday,
	Sunday
};

int main()
{
	printf("%d\n", Monday);
	printf("%d\n", Tuesday);
	printf("%d\n", Wednesday);
	printf("%d\n", Thursday);
	printf("%d\n", Friday);
	printf("%d\n", Saturday);
	printf("%d\n", Sunday);
}

 由此可见,枚举常量默认从0开始,如果想修改初始值也可以。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值