我可以把二维数组想象成一个传染性的字节序列。我的问题是,它可以被视为具有显式转换的一维数组而不调用未定义的行为吗?
我用gcc测试了以下代码,它运行正常并且没有崩溃。标准对此有何看法?
int main(void)
{
char buf[2][5];
strcpy((char *)buf, "link 101");
printf("%s\n", (char *)buf);
return 0;
}
只是说,我有充分的理由想到这一点。
答案 0 :(得分:-1)
我相信,使用显式转换时可以将其视为一维数组。
基本上只是将一个双指针移到一个,我相信在这种形式下使用显式转换是标准的。
{{1}}