代码之家  ›  专栏  ›  技术社区  ›  Misery

如何将数组指针作为参数传递给函数

c
  •  -1
  • Misery  · 技术社区  · 6 年前

    在三维空间中有一个描述点的结构,三角形可以明显地描述为三个点。我必须写一个接受指针的函数 point3d *face[3] 并给它分配一个三角形的地址,这个地址在某些操作过程中被标记出来。如何做到这一点?

    struct point3d
    { 
       float x;
       float y;
       float z;
    };
    
    void copy_address(point3d *face[3])
    {
       face = another_address;
    }
    
    int main()
    {
        point3d *face[3];
        f(&face);
        return 0;
    }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Paul Ogilvie    6 年前

    struct point3d
    { 
       float x;
       float y;
       float z;
    };
    struct point3d p[3];
    void copy_address(struct point3d (**face)[3])
    {
       *face = &p;
    }
    
    int main()
    {
        struct point3d (*face)[3];
        copy_address(&face);
        return 0;
    }
    

    face struct point3d (*face)[3];

    struct point3d

    copy_address