“静态数组的动态数组”

use*_*467 5 c struct types static-array

如何在 C 中指定静态数组的动态数组?
我想制作一个包含两个静态数组动态数组的结构。

struct indexed_face_set {
    double * [3] vertices;
    int * [3] faces;
};
Run Code Online (Sandbox Code Playgroud)

这应该包含一个动态的顶点列表,每个是 3 个双精度,以及一个动态的面列表,每个都是 3 个整数。

Dav*_*eas 3

语法是,C 的声明方法并不是最干净的,C++ 继承了这一点......

double (*vertices)[3];
Run Code Online (Sandbox Code Playgroud)

该声明意味着这vertices是一个指向double [3]对象的指针。请注意,需要括号,否则(如 中double *vertices[3])它将意味着 3 的数组double*

一段时间后,您最终会习惯表达式中括号的倒置方式......