C语言,数组做形参

// Array_2.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using namespace std;

void  travel(int *p){///void  travel(int p[5]){ 也正确
	int  i;
	for(i=0;i<5;i++){
		//cout<<*(p+i)<<endl;  ////正确
		cout<<p[i]<<endl;///正确
	}
}

void travelD(int (*q)[3]){////因为[]的优先级比*高,所以需要圆括号括起来,void travelD(int q[3][3]){ 也正确
	int i=0,j=0;
	for(i=0;i<3;i++){
		for(j=0;j<3;j++){
				cout<<q[i][j]<<endl;
		}

	}
}
int _tmain(int argc, _TCHAR* argv[])
{
	int a[5]={1,2,3,4,5};
	travel(a);//正确
	///travel(a[]);////错误

	int b[][3]={{1,2,3},{4,5,6},{7,8,9}};
    travelD(b);
	//travelD(b[][3]);//错误
	system("pause");
	return 0;
}
1
2
3
4
5
1
2
3
4
5
6
7
8
9
请按任意键继续. . .
// Array_2.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using namespace std;
        ////函数声明在main()里面或外面都行
	void  travel(int p[5]);////声明 正确
	void travelD(int q[3][3]);//声明 正确
int _tmain(int argc, _TCHAR* argv[])
{
	//void  travel(int p[5]);////声明 正确
	//void travelD(int q[3][3]);//声明 正确

	int a[5]={1,2,3,4,5};
	travel(a);//正确
	///travel(a[]);////错误

	int b[][3]={{1,2,3},{4,5,6},{7,8,9}};
	travelD(b);
	//travelD(b[][3]);//错误
	system("pause");
	return 0;
}
//void  travel(int *p){
void  travel(int p[5]){
	int  i;
	for(i=0;i<5;i++){
		//cout<<*(p+i)<<endl;  ////正确
		cout<<p[i]<<endl;///正确
	}
}

//void travelD(int (*q)[3]){
void travelD(int q[3][3]){
	int i=0,j=0;
	for(i=0;i<3;i++){
		for(j=0;j<3;j++){
			cout<<q[i][j]<<endl;
		}

	}
}
输出与前面一样






你可能感兴趣的:(函数,数组,C语言,形参)