“Linux-2018-spring-main”的版本间的差异
跳到导航
跳到搜索
| 第4行: | 第4行: | ||
* int i, j, k, l; | * int i, j, k, l; | ||
* int **_pp = (int **)malloc(sizeof(int*)*n); | * int **_pp = (int **)malloc(sizeof(int*)*n); | ||
| − | * _pp[0] = (int*) malloc(sizeof(int)*n*d); | + | * int *p = _pp[0] = (int*) malloc(sizeof(int)*n*d); |
* for (l = 1; l < n; l++) { | * for (l = 1; l < n; l++) { | ||
* _pp[l] = &_p[l*d]; | * _pp[l] = &_p[l*d]; | ||
| 第20行: | 第20行: | ||
* free(_pp); | * free(_pp); | ||
*} | *} | ||
| + | |||
*int my_matrix2(int n, int d) { | *int my_matrix2(int n, int d) { | ||
* int *_p = (int*) malloc(sizeof(int)*n*d); | * int *_p = (int*) malloc(sizeof(int)*n*d); | ||
2020年5月13日 (三) 06:21的最新版本
- include <stdio.h>
- int my_matrix3(int n, int d) {
- int i, j, k, l;
- int **_pp = (int **)malloc(sizeof(int*)*n);
- int *p = _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);
- }