Linux-2018-spring-main

来自SUDA-HLT
Liying讨论 | 贡献2018年6月19日 (二) 07:47的版本 (创建页面,内容为“#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. 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); }