zoukankan      html  css  js  c++  java
  • 【C】数组做形参

    前言

    有时候想把一维、二维数组作为实参传入被调函数,有什么特殊么?

    普通参数做实参

    普通参数传入,其实是传入了一个copy,函数内对形参的操作并不能影响实参。

    一维数组做实参

    一维数组的传入,其实传入的是数组的首地址,函数内操作的也是数组真实的内存地址里的数据。

    所以,以下三者是等价的

    void func(int *a)
    void func(int a[])
    void func(int a[5])

    用法:一般的,数组作为参数传入,第一个形参是首地址,第二个形参是数组的size。

    二维数组做实参

    用法:二维数组的传入,可以写三个参数,第一个形参表示数组首地址,第二形参表示一维size,第三个形参表示二维size。

    例如:

    int  plus(int a,int b) {
        int c=0;
        c=(++a)+(++b);
        return c;        
    }
    int plusArr(int d[]){
        ++d[0];
        ++d[1];
    }
    int caculate() {
        int a = 1;
        int b = 5;
        int c = 0;
        int d[2] = {8,9};
        c=plus(1,2);
        print(a);
        pinrt(b); 
        print(d[0],d[1]);
    }
    结果:1  5   9  10
    /*生命如此美好。认真工作之余,不要忘了认真对待生活,认真对待身边人!*/
  • 相关阅读:
    Query on The Trees(hdu 4010)
    背单词(bzoj 4567)
    P2819 图的m着色问题
    P1605 迷宫
    P1230 智力大冲浪
    P1082 同余方程
    P3372 【模板】线段树 1
    P2626 斐波那契数列(升级版)
    长生诀
    写给我第一个喜欢的男孩的歌
  • 原文地址:https://www.cnblogs.com/isha2088/p/6536739.html
Copyright © 2011-2022 走看看