如果未在声明中初始化,则在c中使用const值有什么用?

时间:2012-10-15 08:28:36

标签: c++ c

  

可能重复:
  const in C vs const in C++

我有以下代码

在C

int main()
{
    const int k;//allowed but garbage and later we can't modify
    printf("%d",k);
}
  

O / P =垃圾

在C ++中

int main()
{
    const int k; //not allowed from here itself
    printf("%d",k);
}
  

o / p-compile time error

我怀疑C中const的用法是什么allowedinitialization声明它但declaration之后initialize我们不能c++它。

const我们不能在没有initialization的情况下宣布k值。

C中是否使用变量{{1}}或者它是无用的,如果我们只是声明它,因为以后修改是不可能的。

1 个答案:

答案 0 :(得分:9)

它本身没有用处。

但是,有一些特定于编译器的扩展,它再次变得有用。 例如,C Compilers for embedded platforms通常具有允许为变量提供固定地址的扩展,或者作为内存映射I / O端口的别名。

const表示/强制您only read来自该地址,例如memory mapped input port.