常量

  • 在程序运行过程中,其值不能被改变的量
  • 常量一般出现在表达式或赋值语句中
  • 不过,只读变量实际上也有自己的内存空间,而且我们也是有办法强行修改它的值的
整型常量 100,200,-100,0
实型常量 3.14 , 0.125,-3.123
字符型常量 ‘a’,‘b’,‘1’,‘\n’
字符串常量 “a”,“ab”,“12356”

defineconst(不推荐)

  1. #include <stdio.h>
  2. #define PI 3.1415
  3. // const float PI = 3.1415; //不推荐
  4. int main(void)
  5. {
  6. const int r = 3; // 定义一个只读变量
  7. //圆的面积 = PI x 半径的平方
  8. float s = PI * r * r;
  9. //圆的周长 = 2 x PI x 半径
  10. float l = 2 * PI * r;
  11. printf("圆的周长为:%f\n", l); // 默认显示 6 位小数。
  12. printf("圆的面积为:%f\n", s);
  13. printf("圆的周长还可以写成:%.2f\n", PI * r * r);
  14. printf("圆的面积还可以写成:%.2f\n", 2 * PI * r); // 指定保留小数点后保留2位,对第3位k进行4舍五入
  15. return 0;
  16. }
  1. #include <stdio.h>
  2. int main() {
  3. const int kRed = 0xFF0000;
  4. int* p = &kRed;
  5. *p = 0;
  6. printf("value of kRed is: %d\n", kRed);
  7. return 0;
  8. }
  1. #include <stdio.h>
  2. #define COLOR_RED 0xFF0000
  3. #define COLOR_GREEN 0x00FF00
  4. #define COLOR_BLUE 0x0000FF
  5. int main() {
  6. // const <type> readonly variable
  7. const int kRed = 0xFF0000;
  8. const int kGreen = 0x00FF00;
  9. const int kBlue = 0x0000FF;
  10. printf("kRed: %d\n", kRed);
  11. int *p_k_red = &kRed;
  12. *p_k_red = 0;
  13. printf("kRed: %d\n", kRed);
  14. // macro
  15. printf("COLOR_RED: %d\n", COLOR_RED);
  16. #undef COLOR_RED
  17. // 字面量 literal
  18. 3;
  19. 3u;
  20. 3l;
  21. 3.f;
  22. 3.9;
  23. 'c';
  24. "cs";
  25. L'中';
  26. L"中国";
  27. // 硬编码 hard code
  28. int background_color = COLOR_GREEN;
  29. return 0;
  30. }