void testBrackets(int* ar, int len) { int i; int errors = 0; for (i = 0; i < len; i++) { ar[i] = i; } for (i = 0; i < len; i++) { if (ar[i] != i) { printf("error: [%d] %d != %d\n", i, ar[i], i); errors++; } } printf("Errors: %d\n", errors); } void testBrackets2D(int** ar2D, int lenX, int lenY) { int x, y; int errors = 0; for (x = 0; x < lenX; x++) { for (y = 0; y < lenY; y++) { ar2D[x][y] = x * lenY + y; } } for (x = 0; x < lenX; x++) { for (y = 0; y < lenY; y++) { int expected = x * lenY + y; int val = ar2D[x][y]; if (val != expected) { printf("error: [%d][%d] %d != %d\n", x, y, val, expected); errors++; } } } printf("2D Errors: %d\n", errors); } void testHeap() { int* ar = (int*) malloc(100); testBrackets(ar, 25); free(ar); } void testHeap2D() { int lenX = 10; int lenY = 5; int* ar = (int*) malloc(lenX * lenY * 4); int** ar2D = (int**) malloc(lenX * 4); int i; for(i = 0; i < lenX; i++) { ar2D[i] = ar + lenY * i; } testBrackets2D(ar2D, lenX, lenY); free(ar); free(ar2D); } int main() { testHeap(); testHeap2D(); return 0; }