• 数组作为形式参数,数组的大小、长度


    #include <stdio.h>
    #include <stdlib.h>
    //第一个参数表示的是地址,第二个参数表示的是数组的长度
    //注意数组的长度超过数组的元素的时候,其中数组空余的地址全部由系统自动用0进行补充。
    void arrypoint(int datas[], int ent ){          //注意在将数组作为函数的形参的时候,此时数组的中阔号中的内容没有意义,中括号仅仅表示该参数为数组,真正意义上是表示数组的地址。
                                                             //所以占用的字节为数组的类型的字节,并不是数组的总的占用的字节,例如 int datas[]表示的便是数组的类型为int类型地址占用的字节数为4个字节
                                                          //为了知道数组的长度通常采用的是再进行传输一个参数,再传参的时候便计算数组的长度。才将结算的结果作为参数进行传输。
                                                      //再windows系统中通常用四字节表示数组的地址,再Linux的环境中通常采用的是8个字节表示数组。
    int i;
    printf("datas数组的中总长度:%d ",sizeof(datas)); // 此处是求数组的大小,并不是求解数组的长度,这里的大小与数组的类型有关,与数组中的元素的个数无关
    printf("int类型占用的字节的个数:%d ",sizeof(int));
    for(i=0;i<ent;i++){

    printf("%d",datas[i]);
    }
    }
    void sss(){ //注意带参数的函数不能和不带参数的函数名相同
    printf ("系统");
    }
    void ss1(int a, int b, char c){ //带有三个参数的函数
    printf("a=%d,b=%d,c=%c ",a,b,c);
    }
    int main()
    { int arry[3]={1,3,4}; // 该数组已经进行了完全初始化。

    printf("arry数组中元素的个数为:%d ",sizeof(arry)/sizeof(arry[0]));// 计算数组arry的数组的元素的个数

    sss();
    ss1(arry[0],arry[1],'c');
    //将数组与函数进行联系
    arrypoint(arry,sizeof(arry)/sizeof(arry[0]));//在将数组作为形参传参的时候,直接添加数组的名字即可,不用带上中括号
    //数组是连续的,所以元素的第一个索引的地址也表示元该数组的地址
    //arrypoint(&arry[0],sizeof(arry)/sizeof(arry[0]));//注意只能是元素的首地址表示数组的地址,因为数组的地址的指向也就是数组中第一个元素的地址,注意与上面的方式进行对比。

    return 0;
    }

  • 相关阅读:
    app 后端技术
    别为大公司拼命
    ifconfig 工具
    route工具
    ping 和 traceroute 命令
    IP路由选择
    TCP的那些事儿(下)
    TCP的那些事儿(上)
    Openresty 与 Tengine
    Excel.Application SaveAs 把excel转换为html
  • 原文地址:https://www.cnblogs.com/Nic-zhang/p/13719522.html
Copyright © 2020-2023  润新知