一 常量:(具有常属性的一些数字,也就是不可改变的)
1 字面常量:这里我就列举了
常量字面常量:2; 3;
字符字面常量:'a'
字符串字面常量“abcdef”
2 变常量:const函数:不让变量改变 eg: int a = 0;(可以改变的初始化)
如果const int a = 0;(那就不能后面再改变了)
但是要注意的是 编译器仍然认为 a 是变量
3 定义的标识常量:
#define 名称 想赋的值
4 枚举常量:
枚举对于我们来说又是一个新的概念了 枚举描述的是可以一一列举的,比如我们的三原色RGB
我们想要枚举就是这个格式
enum color(名字) 这里强调一下(名字最好有意义)
{
RED,//编译器会给red赋以值 eg \0
GREEN, //\1
BULE \2
};
到时候用的时候就是
enum color = BULE;
这是枚举中本来就规定的 而且注意是一一列举,所以这里的RED GREEN BULE 也是不可以改变的
不是说我enum color = YELLOW;就能改变的 所以我们说RED GREEN BULE 也是常量
二 字符串
我们知道,单个字符是这样的eg : 'a' 那字符串是什么?
我们说字符串是由双引号引起来的”abcdef“
这里我们的C就说了:字符串结束就是\0
为什么这么说 我们引入数组概念来操作一下吧
我们初始化两个数组
char arr1 [] = {'a','b','c'};
char arr2 [] = {"abc"};
这里我们先不管数组是什么哈
我用的编译器是VS,之前有发过下载过程的 有可能会有所改变 ,但记住要下载社区版本
这个版本是不需要付费的
这边我们按F10 (有些笔记本电脑是Fn + f10)
我们会出现一个弹窗
我们会发现arr2会比arr1多了个\0
我们以字符串的形式对其进行运行试试
printf("%s",arr1);(%s是打印字符串的意思哈)
printf("%s", arr1);
我们发现arr1的打印多出了很多东西
而arr2只是abc
我们在arr1中也加入个\0
发现arr1也正常打印了 这就说明我们的\0是停止的意思!!
补充:
strlen是在头文件string.h中的库函数使用时要包含头文件