Linux-2018-spring-main

来自SUDA-HLT
Liying讨论 | 贡献2018年6月19日 (二) 07:51的版本
跳到导航 跳到搜索
    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);
  • }