C语言-常量(适用小白/万字笔记更新中……)

常量

常量的分类:

  • 字面常量:直接写出来的量
#include<stdio.h>
int main()
{
    3;
    100;
    1213;
    return 0;
}

其中的3、100、1213都是字面常量

示例:

  • Const修饰的常变量:在变量前加入const之后该值就不能改了

示例:

int main()
{
    const int x = 4;
       printf("%d\n", x);
       int x = 8;
       printf("%d\n", x);
    return 0;
}

在这一段代码中,已经先定义了const int x = 4;意思是让变量x=4为常量,让x=4不可更改,而后又定义x=8,故编译器会出现报错


    补充  数组:一种数据结构,存储一组相同的数据类型,其中每个元素可以通过索引访问

    示例:int ab[5]; // 定义一个长度为5的整型数组

         这里定义了一个ab的整型数组,可存储5个整数,通过索引访问(注意,方括号中的值必须是常量,代表共有几个元素,括号中的数字从0开始的):

         ab[0] = 5; // 将第一个元素赋值为5

        ab[1] = 6; // 将第二个元素赋值为6(下标是2,括号里的数是2-1)

……

    案例:

int main()
{
	const int x = 10;
	int y[x] = {0};
	return 0;
}

在这段代码中,x本来被定义为变量,不能作为数组,但在前面加入const让它变成一个常变量,也就是常量才可以正常运行,那么  int y[x] = {0};的意思是将y中的所有元素初始化为0,也就是元素0-9(因为x的常量=10)初始化为0

  • #define定义的标识符常量(define-定义)

示例:

#define x 8
int main()
{
	int y[x] = { 0 };
	printf("%d\n", x);
	return 0;
}
  1. #define x 8:这个代码使用define来定 x 为常量8  且define只能放在main函数外面,不能放在main函数里
  2. int y[x] = { 0 }:在y的数组里将x全元素初始化为0,因为x=8,所以将y中0-7的元素初始化为0,x在这里只是代表数组长度,并不是x被初始化为0,所以x还是等于8的
  • 枚举常量:可以被一一列举的

枚举关键字-enum

示例:

enum color {
    red,
    yellow,
    blue,
};
int main()
{
    enum color s = red;
    enum color z = blue;
    printf("%d\n", s);
    printf("%d\n", z);
    return 0;
}
  1. enum color { red,yellow,blue,}:定义一个color的枚举常量,并在{}内一一枚举出取的常量值,注意-{}和;是不能省略的
  2. enum color s = red:将变量s应用枚举color,并赋值为red
  3. enum color z = blue:将变量z应用枚举color,并赋值为blue
  4. printf("%d\n", s):枚举是会有值的,如果不特殊赋值的话,默认第一个枚举值从0开始,故打印出的s等于0

如有误请指出

猜你喜欢

转载自blog.csdn.net/2203_76023611/article/details/131969588