use*_*288 4 c c++ pointers arguments function
这是一个面试问题:
int []和之间有什么区别int*,所有这些都是函数的输入参数.
f(int a[] , int* b)
Run Code Online (Sandbox Code Playgroud)
我的答案:
因为f(),它们具有相同的功能.第一个是第一个元素的起始位置a[].
第二个指向一个int.
但是,如何在不传递其他论据的情况下将它们彼此区分开来?
在函数参数的上下文中,它们是相同的.以下所有内容完全相同:
f(int a[], int *b)
f(int a[], int b[])
f(int *a, int *b)
f(int *a, int b[])
Run Code Online (Sandbox Code Playgroud)
如果不传递一些额外信息,您无法区分它们.