c语言整型常量问题有什么?

 我来答
刺任芹O
2022-11-16 · TA获得超过6.2万个赞
知道顶级答主
回答量:38.7万
采纳率:99%
帮助的人:8987万
展开全部

首先要明白C语言的常量表达什么?我们才能了解它的问题是什么:

常量:其值不会发生改变的量,称为常量。它们可以和数据类型接合起来分类。比如:整形常量,浮点型常量,字符常量等等,常量是可以不经过定义和初始化,而直接引用的。

常量分类:常量又分为:直接常量和符号常量。

直接常量又叫做:字面常量。如12,0,4.6,’a’,”abcd”

符号常量:如宏定义的:#define PI 3.14

特点:常量的值在其作用域内不会发生改变,也不能再被赋值。其在出现时就被当作一个立即数来使用。也就是说,只能被访问,被读,而不能被写,被赋值。

常量所在的内存空间就被加上了只读的属性,它有点类似于const关键字,那么它常见的问题如下:

(1) 可以定义const常量,具有不可变性。 例如:

const int Max=100; int Array[Max];

(2) 便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患。例如:

void f(const int i) { .........} //编译器就会知道i是一个常量,不允许修改;

(3) 可以避免意义模糊的数字出现,同样可以很方便地进行参数的调整和修改。

(4) 可以保护被修饰的东西,防止意外的修改,增强程序的健壮性。 还是上面的例子,如果在函数体内修改了i,编译器就会报错; 例如:

void f(const int i) { i=10;//error! }

(5) 为函数重载提供了一个参考。例如:

class A { ......
void f(int i) {......} //一个函数
void f(int i) const {......} //上一个函数的重载 ......
};

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式