c语言中符号常量和字面常量的区别?怎么区分。

2024-11-30 09:50:39
推荐回答(2个)
回答1:

  我们在用C编程时有时需要定义不变的变量,即常量,有两种方法。
  举例说明一下,定义常量PI的两种方式:
  1. #define Pi 3.1415926f;
  2. const float pi 3.1415926f;
  区别:
  第一种方式:是符号常量,将Pi定义成一种符号,此时Pi只是3.1415926的别名,在编译期间用3.1415926去取代Pi的值;
  第二种方式:是命名变量,将PI定义成变量,但告诉编译器它的值是固定不变的,如果在程序中试图去修改它的值,在编译时会报错。

回答2:

这个很好理解 看表示方法就可以判断出来

在函数主体之前(一般是在接着调用库函数之后写),使用#define 定义的常量就是字面常量 这个值在任何一个块中都可以调用 而且编译器不会为该常量分配内存;
例如: #define SX 250;这就是一个定义的好的字面常量。

符号常量的表示方法为:‘x’,‘250’等等,使用单引号来表示。