スペース、タブまたは "\ n"で区切られた2つの文字列リテラルをエラーなしでコンパイルできるのはなぜですか?文字列リテラルのコンパイル
int main()
{
char * a = "aaaa" "bbbb";
}
は "AAAAは" CHAR * "BBBB" は文字である*
2つの文字列リテラルを処理するためには特定の連結ルールはありません。そして明らかに次のコードはコンパイル時にエラーを出します:
#include <iostream>
int main()
{
char * a = "aaaa";
char * b = "bbbb";
std::cout << a b;
}
この連結はすべてのコンパイラに共通ですか? 「aaaa」のヌル終了はどこでですか? 「aaaabbbb」はRAMの連続ブロックですか?
これらはポインタではなくchar配列です –