【发布时间】:2014-12-09 10:51:17
【问题描述】:
数组引用(即在值上下文中提及数组)会变成指针。
——C-FAQ
是否有一个程序(可以编译)如果用指针值替换数组值会得到不同的行为?
让“不同的行为”意味着不同的计算结果,而不是任何编译器将如何以不同的方式编译代码以给出相同的结果,或者一个编译器如何编译而另一个不编译。
【问题讨论】:
-
一个例子:
sizeof操作符的行为不同。 -
另一个例子:你不能将
++应用到一个数组,但你当然可以应用到一个指针。 -
尝试使用
2d int array和pointer to pointer to int。 2 的行为方式非常不同。巧合的是,我和我的同事从 2 天开始就在讨论这个问题,并确定了一个令人满意的结果..