常量的分类
常量和变量的比较:
int a=10;//a就是变量 char ch=b;//b就是常量,常量只能以作为左值出现
字面常量
😇字面上理解的常量就被我们当作是字面常量,就是这么简单.例如Hello world.
const修饰的常变量
结论:const修饰的常变量同时具有常量和变量的属性(正因为难以界定,所以起名为常变量)
上图勘误:关键词 字
证明:常量性质&变量性质
1.证明常量性质:
🚗*(1)由const定义:*
🚗*(2)无法被直接修改:(但是能被间接修改)*
备注:const 修饰的常变量能被指针间接修改:
#include<stdio.h> int main() { const int a = 10; int* p = &a; *p = 5; printf("%d", a); return 0; }
运行结果:
2.证明变量性质:
(1)a不能在定义数组时作数组元素(该位置只能是常量)
备注:关联知识:动态内存开辟形成的原因
#define定义的标识符常量
引言:C语言中,可以用 #define 定义一个标识符来表示一个常量.
标识符:C语言规定,标识符可以是字母、数字、下划线(A~Z, a~z, 0~9, _)组成的字符串,并且第一个字符必须是字母或下划线。
2.#开头的都是预处理命令(暂时不必深究),例如#include
#define MAX 10 备注:此处MAX即为标识符,由#define和enum定义的变量习惯是全大写,又如:#define PI 3.14
#define定义的不局限于整数,还可以是字符串
备注:#define末行习惯不加分号;
打印字符串一定一定要加双引号