const int matrix_size = 3; int matrix[matrix_size][matrix_size]; matrix[0][2] = 6;

Multidimensional arrays can also be initialized at declaration time:

char rect[3][2] = { {'a', 'b'}, {'c', 'd'}, {'e', 'f'} };

Since arrays are essentially pointers (see the arrays SparkNote and the pointers SparkNote for more on this), they are passed by reference:

void func_name(int array[]);

This might later be called as follows:

int data[3] = {4, 1, 7}; func_name(data);