c++显示传递数组时为什么要指定其长度?
#include <iostream>const int SIZE = 5;int sum_arr(int p[],int size);int main(){ int sum; int arr = {1,2,3,4,5}; std::cout << "sizeof (arr)=" << sizeof(arr) << ", address=" << arr <<std::endl; sum = sum_arr(arr,SIZE); std::cout << "sum of arr=" << sum <<std::endl; return 0;}int sum_arr(int p[], int size){ int sum = 0; std::cout << "sizeof (p)=" << sizeof(p) << ", address=" << p <<std::endl; for (int i =0; i < size; i++) sum += p; return sum;} 输出如下:ackerman@ubuntu:~/桌面/c++test$ ./a.out sizeof (arr)=20, address=0xbf9afa68sizeof (p)=4, address=0xbf9afa68sum of arr = 15
页:
[1]