Linux-2018-spring-main
* #include <stdio.h>
*
* int my_matrix3(int n, int d) {
* int i, j, k, l;
int **_pp = (int **)malloc(sizeof(int*)*n); _pp[0] = (int*) malloc(sizeof(int)*n*d); for (l = 1; l < n; l++) { _pp[l] = &_p[l*d]; } for (i = 0; i < n; i++) { for (j = 0; j < d; j++) { _pp[i][j] = i*j; } } for (k = 0; k < n*d; ++k) { printf("%d ", _p[k]); if ((k+1) % d == 0) printf("\n"); } free(_p); free(_pp);
}
int my_matrix2(int n, int d) {
int *_p = (int*) malloc(sizeof(int)*n*d);
int **_pp = (int **)malloc(sizeof(int*)*n);
int i, j, k, l;
for (l = 0; l < n; l++) {
_pp[l] = &_p[l*d];
}
for (i = 0; i < n; i++) {
for (j = 0; j < d; j++) {
_pp[i][j] = i*j;
}
}
for (k = 0; k < n*d; ++k) {
printf("%d ", _p[k]);
if ((k+1) % d == 0) printf("\n");
}
free(_p);
free(_pp);
}
int my_matrix(int n, int d) { int *_p = (int*) malloc(sizeof(int)*n*d); int i, j, k; for (i = 0; i < n; i++) { for (j = 0; j < d; j++) { _p[i*d+j] = i*j; } } for (k = 0; k < n*d; ++k) { printf("%d ", _p[k]); if ((k+1) % d == 0) printf("\n"); } free(_p); }
int main() { my_matrix(3, 4); my_matrix2(3, 4); }