关于c++中数组参数的传递

#include<iostream>
using namespace std;
void print(int b[],int n);
int main()
{
    int i;
    int b[10];
    for(i=0;i<10;i++)
    {
        cin>>b[i];
    }
    print(b,10);
    system("pause");
    return 0;
}

void print(int b[],int n)
{
     int i;
     for(i=0;i<10;i++)
     {
         cout<<b[i];
     }
}

直接传递数组参数可以

#include<iostream>
using namespace std;
void print(int* b,int n);
int main()
{
    int i;
    int b[10];
    for(i=0;i<10;i++)
    {
        cin>>b[i];
    }
    print(b,10);
    system("pause");
    return 0;
}

void print(int* b,int n)
{
     int i;
     for(i=0;i<10;i++)
     {
         cout<<b[i];
     }
}

传递指向数组第一个元素的指针也可以

#include<iostream>
using namespace std;
void print(int(&a)[10]);
int main()
{
    int i;
    int b[10];
    for(i=0;i<10;i++)
    {
        cin>>b[i];
    }
    print(b);
    system("pause");
    return 0;
}

void print(int(&a)[10])
{
     int i;
     for(i=0;i<10;i++)
     {
         cout<<a[i];
     }
}
传递对数组的引用也可以。

#include<iostream>
using namespace std;
void print(int* &b,int n);
int main()
{
    int i;
    int b[10];
    for(i=0;i<10;i++)
    {
        cin>>b[i];
    }
    print(b,10);
    system("pause");
    return 0;
}

void print(int* &b,int n)
{
     int i;
     for(i=0;i<10;i++)
     {
         cout<<b[i];
     }
}

传递指针的引用不可以,如果需要需要修改成下面的代码:

#include<iostream>
using namespace std;
void print(int* &b,int n);
int main()
{
    int i;
    int b[10];
    for(i=0;i<10;i++)
    {
        cin>>b[i];
    }
    int* p=b;
    print(p,10);
    system("pause");
    return 0;
}

void print(int* &b,int n)
{
     int i;
     for(i=0;i<10;i++)
     {
         cout<<b[i];
     }
}

posted @ 2013-04-06 13:19  liguigen  阅读(685)  评论(2编辑  收藏  举报