ackerman 发表于 2013-1-26 15:59:51

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]
查看完整版本: c++显示传递数组时为什么要指定其长度?