mdarrays ("Multi-dimensional Arrays for C") is a C library that handles the complexity of multidimensional arrays in C. Especially noteable is that this is the only multidimenional array package for C that will catch all bounds errors when used with a runtime memory checker such as Valgrind.
mdarrays requires a C compiler capable of the C99 standard. It has so far only been tested on the GNU gcc compiler.
For a short introduction to mdarrays, see the introduction in the documentation.