c++中关于数组作为函数参数并传递数组元素个数的几种有效方法的讨论_百

c++中关于数组作为函数参数并传递数组元素个数的几种有效方法的讨论_百


2024年6月7日发(作者:)

c++中关于数组作为函数参数并传递数组元素个数的几种有效方法的

讨论

//由于数组的元素个数默认情况下是不作为实参内容传入调用函数的,本程序用来讨论有此带来的

//相关问题,以及解决问题方法,即给调用函数传递数组的元素个数的几种有效方法并实现它

#include

#include

using namespace std;

void PutArray1(int *p,int length)

{

for(int ix=0;ix

cout<

cout<

}

void PutArray2(int p[],int length)

{

for(int ix=0;ix

cout<

cout<

}

void PutArray3(int p[10])

{

for(int ix=0;ix<9;ix++)

cout<

cout<

}

void PutArray4(int (&p)[10])//注意对int数组的引用是int (&a)[10],而不是int & a[10],否则有编

译错误

{

for(int ix=0;ix<9;ix++)

cout<

cout<

}

void PutArray5(vectorverc)

{

vector::iterator begin_iter=();

vector::iterator end_iter=();

int size= ();

cout<<"使用两个迭代器来输出int向量"<<"n"<

for( vector::iterator iter=begin_iter ;iter!=end_iter;iter++)

cout<<*iter<<"t";

cout<

cout<<"使用向量参数传进来的元素规模输出int向量n"<

for(int ix=0;ix

cout<

cout<

}

void main()

{

int a[10]={0,1} ,b[8]={0,1};

vector verc1(a,a+10);

vector verc2(b,b+8);

cout<<"数组a[10]调用函数PutArray1的结果为:n"<

PutArray2和PutArray3的第一次输出的输出结果可以

PutArray1(a,10);

cout<<"数组a[10]调用函数PutArray2的结果为:n"<

和PutArray2(int p[])以及PutArray3(int p[10]这

PutArray2(a,10);

cout<<"数组a[10]调用函数PutArray3的结果为:n"<

都是int *p;他们的元素个数都不作为实参内容传进

PutArray3(a);

cout<<"数组b[8]调用函数PutArray3的结果为:n"<

PutArray3(b);

cout<<"向量verc1调用函数PutArray5的结果为:n"<

PutArray5(verc1);

cout<<"向量verc2调用函数PutArray5的结果为:n"<

PutArray5(verc2);

}

/*

(1)对于数组a[10]作为实参,对所有的以数组作为实参的函数的调用得用PutArray3(a),

而不能用PutArray3(a[10])和PutArray(a[]),否则出现编译错误,


发布者:admin,转转请注明出处:http://www.yc00.com/news/1717736200a2742741.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信