dynamic two dimensional array data structure in C programming language