This works:
Code:#include <stdio.h> #include <stdlib.h> int main(int argc, char* argv[]) { #if 1 /***** try out Kevin method ****/ typedef char char_array_50[50]; typedef char char_array_500[500]; char_array_500 *zz = (char_array_500*) malloc(sizeof(char_array_500)*2000); // allocate char[2000][500] char_array_50 xx[30]; char_array_50* yy=(char_array_50*)&xx; #else /**** try out sef method ****/ char (*zz)[500] = (char (*)[500]) malloc(sizeof(char)*500*2000); // allocate char[2000][500] char xx[30][50]; char (*yy)[50] = (char (*)[50])&xx; #endif xx[3][5] = 7; xx[7][8] = 11; printf("A test... The next line should print '7, 11'\n"); printf("%d, %d\n", yy[3][5], yy[7][8]); return 0; }


Reply With Quote
Bookmarks