C语言的常量问题
Posted 流浪孤儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言的常量问题相关的知识,希望对你有一定的参考价值。
字面常量与常变量
标识符常量
目录
一、字面常量与常变量
二、标识符常量
三、枚举常量
一、字面常量与常变量
贴代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void text();
int main()
{
4;
5;
//这些都为字面常量
/*int num = 4;//num为变量
printf("%d\\n", num);
num = 5;//num是变量可以更改值
printf("%d\\n", num);*/
const int num1 = 4;//const-常属性:即具有和常量一样的性质->不能修改!
//const修饰的常变量
//常变量:具有常属性的一个变量,本质还是变量
printf("%d\\n", num1);
//num1=5,这句语句要被注释掉不然会被报错,因为num1不能被修改
text(num1);//调用text函数
return 0;
}
void text(num1)//该函数可以验证num1本质上是否是变量
{
int n = 10;
//int arr[n] = {1};这句先注释掉,不然会报错:应输入常量表达式,而n是变量
//int arr[num1] = { 1 };这句先注释掉,不然还是会报错:应输入常量表达式,num1本质还是变量
int arr[10] = { 1 };//放入常量10就不会报错,说明字面常量是常量,而常变量虽然值不可修改但是
//本质上还是变量
}
标识符常量
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#define MAX 10//#define定义的标识符常量,后面没有分号
int main()
{
int arr[MAX] = {0};//没有报错,MAX确实为常量
printf("%d\\n",MAX);
return 0;
}
枚举常量
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
/*
枚举常量
枚举---列举
性别:男,女,保密
枚举关键-enum
*/
enum Sex//enum为定义枚举类型的关键字
{
MALE,
FEMALE,
SECRET
};//有分号
//MALE FEMALE SECRET为枚举常量
int main()
{
enum Sex s = FEMALE;//s为枚举变量
s = MALE;
//MALE=10;这句会报错,枚举常量是不能改的,枚举变量可以改
printf("%d\\n", MALE);//默认为0
printf("%d\\n", FEMALE);//1
printf("%d\\n", SECRET);//2
return 0;
}
以上是关于C语言的常量问题的主要内容,如果未能解决你的问题,请参考以下文章