【问题标题】:What typedef for a static multi-dimensional array?静态多维数组的 typedef 是什么?
【发布时间】:2012-04-23 17:39:41
【问题描述】:

我有一个静态的 int 3D 数组。我可以这样声明:

int my_array[X_MAX][Y_MAX][Z_MAX];

但是,这种类型在我的程序中用于不同的目的,我想创建 typedef 来区分用途并使我的程序更易于阅读。

问题是...我不知道如何创建这些类型定义。 typedef int[X_MAX][Y_MAX][Z_MAX] my_typedef; 是我的第一个也是唯一的猜测。它不编译。你知道是否有办法做我想做的事吗? (我的意思是,没有动态分配的数组)

【问题讨论】:

    标签: c arrays typedef


    【解决方案1】:
    typedef int my_typedef[X_MAX][Y_MAX][Z_MAX];
    

    【讨论】:

    • 谢谢,它适用于变量。我只想指出它不适用于函数声明。这是合乎逻辑的,因为函数不能返回数组而必须返回指针。然而 typedef “隐藏”了它是一个数组的事实,所以我在意识到它之前犯了几次错误^^
    • 您可以将其用于函数参数,但不能用于返回类型:int f(my_typedef a).
    猜你喜欢
    • 1970-01-01
    • 2015-06-23
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    相关资源
    最近更新 更多