<分区>
argv 是指向字符的常量指针数组
char * const argv[] // 1
argv 是指向字符的指针数组,是常量
const char * argv[] // 2
是否有记住数字 1 的提示?
标签 c
<分区>
argv 是指向字符的常量指针数组
char * const argv[] // 1
argv 是指向字符的指针数组,是常量
const char * argv[] // 2
是否有记住数字 1 的提示?
最佳答案
const char * argv[] // 2
也可以写成:
char const * argv[] // 3
因为 C 不关心 const 在类型中的顺序。如果这样写,那么实际上 const
就是关键字 const
左边的东西。 const
位于第一个的形式是该规则的一个异常(exception);但在那种情况下,const
的左边没有任何内容,所以根据这个经验法则很容易避免这种情况。
char* // mutable pointer to mutable char
char const* // mutable pointer to constant char
char * const // constant pointer to mutable char
char const* const // constant pointer to constant char
关于澄清并记住 C 中的 const 用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16681429/