采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,进行传参时,如下面两种方式,有什么区别吗?是完全一样的吗?
int sum_arr(int arr[],int n);int sum_arr(int *arr, int n);
int sum_arr(int arr[],int n);
int sum_arr(int *arr, int n);
是的,int sum_arr(int arr[],int n); 这里的arr参数会退化成数组首元素的指针,要注意的是这里数组退化时会丢失边界,所以这里的int n来指定数组的个数,是很好的做法,否则可能导致下标访问越界。
就是说使用int arr[]的时候传递的是数组首元素的地址,而使用int *arr时候传递的是整个数组的地址。这两个地址在数值上看应该是一样的 ,我这有理解对吧?
这里二者没有区别
这里的二者没有区别是指?
登录后可查看更多问答,登录/注册
一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维
1.2k 12
1.3k 10
1.2k 9
1.0k 9