65,187
社区成员




#include <iostream>
using namespace std;
void funin(int (&arr)[5][5])//形参为引用
{
for(int i = 0;i != 5;i++)
for(int j = 0;j != 5;j++)
arr[i][j] = i*j;
}
void funout(const int (&arr)[5][5])//形参为引用
{
for(int i = 0;i != 5;i++)
for(int j = 0;j != 5;j++)
cout << arr[i][j] << " ";
}
void funin1(int (*arr)[5],int row)//形参为指针
{
for(int i = 0; i != row;i++)
for(int j = 0;j != 5;j++)
arr[i][j] = i*j;
}
void funout1(int (*arr)[5],int row)//形参为指针
{
for(int i = 0; i != row;i++)
for(int j = 0;j != 5;j++)
cout << arr[i][j] << " ";
}
void funin2(int arr[5][5])//形参既不为引用也不为指针,这里很猫腻,这种情况和指针一样
{
for(int i = 0;i != 5;i++)
for(int j = 0;j != 5;j++)
arr[i][j] = i*j;
}
void funout2(const int arr[5][5])
{
for(int i = 0;i != 5;i++)
for(int j = 0;j != 5;j++)
cout << arr[i][j] << " ";
}
int main()
{
int iarray[5][5];
int iarray1[5][5];
int iarray2[5][5];
funin(iarray);//传递指针
funout(iarray);
cout << endl;
funin1(iarray1,5);//传递指针
funout1(iarray1,5);
cout << endl;
funin2(iarray2);//传递指针
funout2(iarray2);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
template <class Type, int size>
Type min( Type (&r_array)[size] ) { return (Type)0; }
void f( int (&pval)[3] ) {
int jval = min( pval );
}
int main()
{
int arr[] = {1,2,3};
min(arr);
f(arr);
return 0;
}