Originally Posted By: WretchedSid
(b[i])[j] also works, if I remember correctly.

Can confirm CASE3 works. Thanks for the tip!

Code:
//#define CASE1
//#define CASE2
#define CASE3

int main()
{
	vars b[3];
	var c[3] = { 1.1, 1.2, 1.3 }; vars c1 = c;
	var d[3] = { 2.1, 2.2, 2.3 }; vars d1 = d;
	var e[3] = { 3.1, 3.2, 3.3 }; vars e1 = e;

	b[0] = c1;
	b[1] = d1;
	b[2] = e1;

	d[2] += 10.;
	e1[1] += 20.;

        int i, j;
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 3; j++)
		{
                      #ifdef CASE1
                      printf("%.2f ", b[i][j]); //dimension of array error
                      #endif
                      #ifdef CASE2
                      vars f;
                      f = b[i];
                      printf("%.2f ", f[j]); //this works!
                      #endif
                      #ifdef CASE3
                      printf("%.2f ", (b[i])[j]);  //this works!
                      #endif
		}
		printf("\n");
	}
	return 0;
}