Page 58, Exercise 1
#include <stdio.h>
#include <stdlib.h>
int** make2dArray(int, int);
#define MALLOC(p,s) \
if (!((p) = malloc(s))) {\
fprintf(stderr, "Insufficient memory"); \
exit(EXIT_FAILURE); \
}
int main(){
int i,j;
int **myArray;
myArray = make2dArray(5,10);
myArray[2][4]=6;
for (i = 0; i<5; i++){
for (j = 0; j < 10; j++){
/*myArray[i][j] =0;*/
printf("%d ", myArray[i][j]);
}
printf("\n");
}
}
int** make2dArray(int rows, int cols)
{/*create a 2-d array rows x cols */
int **x, i;
MALLOC(x,rows*sizeof(*x)); /*get memory for row pointers*/
for(i = 0; i < rows; i++){
MALLOC(x[i], cols * sizeof(**x)); /*get memory for col pointers*/
*x[i]=0;
}
return x;
}
|