“Linux-2018-spring-main”的版本间的差异

来自SUDA-HLT
跳到导航 跳到搜索
 
第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的最新版本

    1. 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);
  • }