5
我想知道的是什么,我知道,无论是三分球,但没有任何差别函数定义中的指针与数组:void fct1(int * p)和void fct1(int p [])有什么区别?
void fct1(int *p)
和
void fct1(int p[])
的区别
我想知道的是什么,我知道,无论是三分球,但没有任何差别函数定义中的指针与数组:void fct1(int * p)和void fct1(int p [])有什么区别?
void fct1(int *p)
和
void fct1(int p[])
的区别
绝对没有任何区别的功能使用时,这样的参数。编译器对这两个表单进行相同的处理。
没有区别。为了完整起见,这里的标准说什么:
C99标准6.7.5.3节7
参数为“”类型的数组“的声明”应调整到 '合格的指针到类型'',...
@Mark Ransom感谢您的快速回复。但我听说int p []是一个常量指针,所以它指向的地址无法更改是真的吗? – user2142328 2013-03-07 02:19:18
(“函数指针”是指向函数的指针,而不是指向函数的指针..据说,我确信这*必须*是重复的)。 – 2013-03-07 02:36:51
@ user2142328'p []'声明一个大小为稍后确定。这在函数参数中是非法的,其大小必须立即知道。所以在这种情况下,它会被专门处理,即时转换为'* p'。 – Potatoswatter 2013-03-07 02:40:07