zoukankan      html  css  js  c++  java
  • c语言继续学习2

     规则:C语言中,当一维数组作为函数参数的时候,编译器总是把它解析成一个指向首元素首地址的指针。

        当函数参数为多维数组时,可以将其看做是第一维的一维数组;如,func(int a[3][4]),此处的定义的指针类型为int (*p)[4];具体参考代码如下:

    1.一维数组:

    #include <iostream> void func(int a[100]) { int num = a[2]; int size = sizeof(a); printf("num = %d ", num); printf("size = %d ", size); } int main() { int buf[10] = {1,2,3,4,5}; func(buf); system("pause"); return 0; }

    输入结果:

    num = 3
    size = 4

    上述示例中,int a[100],首元素首地址的类型为int *;因此,此处的函数参数类型为int *类型;

    2.二维数组

    #include <iostream>
    
    void func(int a[3][4])
    {
        int num = a[1][0];
        int size = sizeof(a);
        printf("num = %d
    ", num);
        printf("size = %d
    ", size);
    }
    
    int main()
    {
        int buf[4][4] = { {1,2,3,4},{5,6,7,8} };
        func(buf);
    
        system("pause");
        return 0;
    }

    上述func(int a[3][4])等同于func(int (*a)[4])  其中的[4]不能省略

    int a[3][4]可以看做是一个一维数组a[3],其中每个元素是包含四个int元素的数组,a[3]的元素类型为int [4],那么指向a[3]的首元素的指针就是int (*p)[4]

  • 相关阅读:
    14071702(SkeletalControl_Limb)
    14072202(带IK的Recoil)
    UE3植被工具-支持刷Actor)
    UDK:AdventureKit 攀爬系统
    16082402(SkeletalMesh的绘制流程)
    windows下安装nodejs
    laravel迁移文件
    laravel的资源路由resource
    sleep参数是整型还是小数
    node.js和npm的关系
  • 原文地址:https://www.cnblogs.com/weiyouqing/p/12926286.html
Copyright © 2011-2022 走看看