int *L; /* Aaah, C, the language where an int is a pointer and a pointer is an int */ int *m; for (L = *tabs[10]; L; L = L*) { *m[ *L[1] ] = *L[2]; }; /* But I think this should be clearer : */ int *L; /* Aaah, C, the language where an int is a pointer and a pointer is an int */ int *m; for (L = *tabs[10]; L; L = L*) { int index = *L[1]; int value = *L[2]; *m[ index ] = value; };