二维数组的首地址 和二维数组的第一个元素的地址的区别

是指针和地址的差别吗??

 

 1 #include <iostream.h>
 2 #include <cstdlib>       //配合system("PAUSE");用于看调试结果
 3 
 4 int maximum(int[],int);
 5 
 6 int main()
 7 {
 8   int sg[3][4]={{68,77,73,86},
 9                 {87,96,78,89},
10                 {90,70,81,86}};
11 
12   cout <<"the max grade is "
13        <<maximum(&sg[0][0],3*4)    //传递第一个元素地址和元素个数
14        <<endl;
15   system("PAUSE");
16 }
17 
18 int maximum(int grade[],int num)
19 {
20   int max=0;
21   for(int i=0; i<num; i++)
22     if(grade[i]>max)
23     max=grade[i];
24 
25   return max;
26 }

 

如果把第13行的&sg[0][0]改为sg ,就会报错

 

13 F:\Cpp test\3\7-8.cpp cannot convert `int (*)[4]' to `int*' for argument `1' to `int maximum(int*, int)' 

 

 

posted @ 2010-03-10 10:43  doze  阅读(3627)  评论(0)    收藏  举报