首页 > 解决方案 > 连接一个常量数组是否独立于实现?

问题描述

我想知道 ISO 规范中是否有一个常量数组的串联是否依赖于实现?如果它取决于实现,你能告诉我哪个编译器没有连接吗?

#include <stdio.h>

int main(void) {

    char *a = "concatenate"
              "this array";
    puts(a);
    return 0;
}

标签: c

解决方案


这是一个标准特性,但它与常量数组无关。它仅适用于字符串文字。

C 标准定义了许多“翻译阶段”。第 6 阶段是:

  1. 相邻的字符串文字标记被连接起来。

参见例如本标准草案中的5.1.1.2 翻译阶段


推荐阅读