文章目录
一、常量
普通常量的使用与说明:
#include <stdio.h>
int main()
{
int num=1;//字面常量
printf("%d\n",num);
num=2;
printf("%d\n",num);
return(0);
}
const的使用与说明:
#include <stdio.h>
int main()
{
const int num=1;//const 表示定义一个常量属性,即被定义的对象变成常量,无法修改
printf("%d\n",num);
num=2;//因为上面用const修饰把num变成了一个常量,
//所以这里的将num的值从1变成2的操作是无法执行的,程序会报错!
printf("%d\n",num);
return(0);
}
什么时候可以用常量/变量?什么时候不能用常量/变量?如下:
#include <stdio.h>
int main()
{
int n=10;
int arr[n]={0};//创建一个数组的时候应语法要求,[]内必须是一个常量,
//放到这段代码中我们可以看到因为n为我们定义的一个int型的变量,不属于常量。所以当程序运行时会报错!
//正确的写法是写成arr[10]={0};
return(0);
}
const的深入探讨:
#include <stdio.h>
int main()
{
const int n=10;
int arr[n]={0};//创建一个数组的时候应语法要求,[]内必须是一个常量,
//放到这段代码中我们可以看到因为n为我们定义的一个被const修饰的int型的变量
//*误区:被const修饰=变成常量?这显然是错误的!
//被const修饰表示被修饰对象被赋予了常量的属性但其本质还是不变的
//const int n 在专业术语上来讲这里的n被称为一个常变量
//也就是说这里的n本质上还是一个int型的变量,不属于常量。所以当程序运行时会报错!
//正确的写法是写成arr[10]={0};
return(0);
}
使用#define定义一个常量:
#include <stdio.h>
#define hkl 10 //#define定义一个值为10的常量hkl
//#define既可以定义全局常量也可以定义局部常量
int main()
{
int arr[hkl]={0};
return(0);
}
使用enum定义一组常量以及其调用:
#include <stdio.h>
enum sex{//enum{};用于定义一组枚举常量male,female
//默认值为递增数组0,1,2,3...,n
//也就是说这里的male=0,female=1
male,
female,
};
int main()
{
enum sex a=male;//enum常量的调用方式
printf("%d\n",a);
enum sex b=female;
printf("%d\n",b);
return(0);
}