2
当它被传递到功能指针阵列和相关的表达式求值
这意味着在
一种阵列型衰减到指针类型int func(int x[*p])
*p
不应被评价为声明等效于int func(int *x)
指针指向数组的指针是否一样?
下面是代码
int *p=0;
void func(int (*ptr)[*p]) //A
{
// code
}
int main()
{
int arr[5][5];
func(arr);
}
是*p
在//A
评价的标准保证?
我尝试过,没有对g ++ 4.6进行优化。启用优化后,我不会收到段错误。在叮当中,即使没有任何优化,代码也不会给出任何段错误。
没有声明'void func(int(* ptr)[* p])'和'void func(int * ptr [])'完全一样吗? – Bart 2012-02-27 19:52:07
我不知道'void func(int x [RANDOM_STUFF])'是有效的! – 2012-02-27 20:57:54
@OliCharlesworth:这不正确吗? – 2012-02-28 03:12:37