argv 是指向字符的常量指针数组
char * const argv[] // 1
Run Code Online (Sandbox Code Playgroud)
argv 是指向字符的指针数组,这些字符是常量
const char * argv[] // 2
Run Code Online (Sandbox Code Playgroud)
有什么技巧可以记住第一条吗?
const char * argv[] // 2
Run Code Online (Sandbox Code Playgroud)
也可以写成:
char const * argv[] // 3
Run Code Online (Sandbox Code Playgroud)
因为C不关心类型中const的顺序。如果这样写,那么这个东西实际上const就是关键字左边的东西const。其中 is first 的形式const是该规则的一个例外;但在这种情况下,左侧没有任何内容,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
Run Code Online (Sandbox Code Playgroud)