加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C将数组传递给函数

发布时间:2020-12-16 09:45:52 所属栏目:百科 来源:网络整理
导读:我对C比较陌生,并且很难将我的数组传递给一个单独的函数.抱怨重新问一个毫无疑问已被回答十几次的问题,但我找不到任何与我的代码问题类似的问题. int main(){ Arrayint intarray(10); int grow_size = 0; intarray[0] = 42; intarray[1] = 12; intarray[9] =
我对C比较陌生,并且很难将我的数组传递给一个单独的函数.抱怨重新问一个毫无疑问已被回答十几次的问题,但我找不到任何与我的代码问题类似的问题.

int main()
{
    Array<int> intarray(10);
    int grow_size = 0;

    intarray[0] = 42;
    intarray[1] = 12;
    intarray[9] = 88;

    intarray.Resize(intarray.Size()+2);
    intarray.Insert(10,6);

    addToArray(intarray);

    int i = intarray[0];

    for (i=0;i<intarray.Size();i++) 
    cout<<i<<'t'<<intarray[i]<<endl;

    Sleep(5000);
}

void addToArray(Array<int> intarray)
{
    int newValue;
    int newIndex;

    cout<<"What do you want to add to the array?"<<endl;
    cin >> newValue;
    cout<<"At what point should this value be added?"<<endl;
    cin >> newIndex;

    intarray.Insert(newValue,newIndex);
}

解决方法

您正在传递数组的副本,因此任何更改都不会影响原始数据.通过引用代替:

void addToArray(Array<int> &intarray)
//                         ^

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读