• palordrolap@fedia.io
          link
          fedilink
          arrow-up
          3
          ·
          10 hours ago

          In the C programming language. Or do you mean which C project specifically? Because as Technus surmises in their response, it’s usually a better idea to set up aliases (typedefs or heck, even #defines) so that you’re offloading some of the mental strain keeping track of the layers, and that’s likely to be what happens in production code.

          But the underlying data type is still T***.

      • Technus@lemmy.zip
        link
        fedilink
        arrow-up
        11
        ·
        23 hours ago

        Ah right, so that would be a 3D array.

        • T* is a single row of T
        • T** is a list of rows
        • T*** is a list of “layers” in the third dimension

        This would be incredibly hazardous to pass around as a bare pointer with no context, though. I’d expect to see this in a struct that, at minimum, also includes fields for the size of each dimension.