为什么可以编译由空格,制表符或"\n"分隔的两个字符串文字而没有错误?
int main()
{
char * a = "aaaa" "bbbb";
}
Run Code Online (Sandbox Code Playgroud)
"aaaa"是一个字母*"bbbb"是一个字母*
没有特定的连接规则来处理两个字符串文字.显然,以下代码在编译期间出错:
#include <iostream>
int main()
{
char * a = "aaaa";
char * b = "bbbb";
std::cout << a b;
}
Run Code Online (Sandbox Code Playgroud)
这种连接是否适用于所有编译器?"aaaa"的空终止在哪里?"aaaabbbb"是一个连续的RAM块吗?