生活中有很多的数据,有些是不能变,比如圆周率,黄金比例,铁的膨胀系数等等。同样,也有会变的数据,工资,年龄,身高啥的。
在C语言中,常量和变量在描述上的区别在于可不可以改变。当你创建一个变量时,就要定义变量,即类型后跟变量名 = 0,直接跟变量名字是不推荐的。变量咱又可细分为全局变量和局部变量。局部变量即定义在大括号(代码块)内部的变量,反之就是全局变量。在某次敲代码时,发现局部变量和全局变量存在选择性。查阅资料发现,当局部变量和全局变量名字冲突时,局部变量优先执行。
## 常量是甚么
首先了解到的就是字面常量,显而易见,就是字面可见不可变的常量。第二是 const修饰的常变量,num原本是个变量,const修饰后程序报错就说明后面定义的值无效了。可是开始我很疑惑,常变量,常变量,既是个常量又是个变量?其实不是,本身是个变量但是被 const赋予了常量属性。
第三就是#define定义的标识符常量,比如赋予Max=100,就是# define Max 100,直接对Max进行赋值是错误的。
最后就是枚举常量,简而言之就是可以逐一列举的常量,如果是数字就没必要一一枚举了。
# define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int main() { *int a = 0; int b = 0; int sum = 0; scanf("%d %d", &a, &b); sum = a + b; printf("%d\n", sum); return 0; }
以上是利用sum函数理解常量的过程。
攻坚🤣
当然,我使用的是vs2019,scanf函数会被认定为不安全,会导致系统判定scanf返回值被忽略的问题,可以使用内置的 scanf_c函数,我本人是使用的#define _CRT_SECURE_NO_WARNINGS前缀名或者#pragma warning(disable:4996)或者更改vs中的SDL检查,即在属性中关闭c/c++的所有选项。