如果我将一个字符串文字分配给a char*,即使使用了许多迂腐选项(-Wall -W -pedantic -std=c99),GCC和Clang都不会抱怨:
char *foo = "bar";
Run Code Online (Sandbox Code Playgroud)
而他们(当然)不要抱怨,如果我分配const char*到char*.
这是否意味着字符串文字被认为是char*类型?他们不应该const char*吗?如果它们被修改,它就不是定义的行为!
和(一个不相关的问题)命令行参数(即:):argv它被认为是一个字符串文字数组?