这两个声明之间有什么区别:

时间:2015-04-08 14:56:07

标签: c

我是C编程的新手,我想知道这两个声明之间的区别是什么:

const int a;

int const a;

两者都被编译器广泛接受。

3 个答案:

答案 0 :(得分:3)

没有区别。两者都是一样的。 intconst都是声明说明符,它们可以按任何顺序发生。语法说的都是关于它的

C11:6.7声明:

  

declaration-specifiers:

     
    

storage-class-specifier declaration-specifiers opt
            类型说明符声明说明符 opt
            type-qualifier声明说明符 opt

            function-specifier declaration-specifiers opt
            alignment-specifier declaration-specifiers opt

  

C11:6.7.2类型说明符(p2):

  

[...> 类型说明符可以按任何顺序出现,可能与其他声明说明符混合。

答案 1 :(得分:2)

没有区别。

来自Wikipedia

  

对于简单的非指针数据类型,应用const限定符非常简单。出于历史原因,它可以位于该类型的任一侧(即const char foo = 'a';等同于char const foo = 'a';)。在某些实现中,在类型的两侧使用const(例如,const char const)会生成警告但不会生成错误。

答案 2 :(得分:0)

他们都是一样的。你声明了2个常量变量。