• c语言 函数返回二位数组 函数参数为二维数组


    通过typedef可以简单实现。也可以直接写。

    写了两个简单的矩阵操作的函数简单示例。

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 
     4 const int ROW = 3;
     5 const int COL = 4;
     6 
     7 typedef int (* mat_pointer)[COL];
     8 
     9 mat_pointer init_mat(mat_pointer a)
    10 {
    11     for (int i = 0; i < ROW; ++i)
    12         for (int j = 0; j < COL; ++j)
    13             a[i][j] = i + j;
    14     return a;
    15 }
    16 
    17 void print_mat(mat_pointer a)
    18 {
    19     for (int i = 0; i < ROW; ++i)
    20         for (int j = 0; j < COL; ++j)
    21             printf("A[%d][%d]=%d%c", i, j, a[i][j], j == COL - 1 ? '
    ' : '	');
    22     printf("
    ");
    23 }
    24 
    25 int (*build_mat(void))[COL]
    26 {
    27     int (* arr_pointer)[COL] = (int (*)[COL]) malloc(ROW * COL * sizeof (int));
    28     for (int i = 0; i < ROW; ++i) {
    29         for (int j = 0; j < COL; ++j)
    30             arr_pointer[i][j] = i * 10 + j;
    31     }
    32     return arr_pointer;
    33 }
    34 
    35 
    36 int main(void)
    37 {
    38     int arr[ROW][COL];
    39 
    40     mat_pointer arr2 = init_mat(arr);
    41     print_mat(arr2);
    42 
    43     int (*arr3)[COL] = build_mat();
    44     print_mat(arr3);
    45 
    46     return 0;
    47 }
  • 相关阅读:
    创建工作窗口
    windows下关闭进程树
    VC socket api使用引入
    实现PC延迟执行函数
    CxImage实现9PNG
    bzoj 3211 花神游历各国
    codevs 3287 货车运输 NOIP2013提高组
    bzoj 3732 Network
    codevs 2370 小机房的树
    图论-最近公共祖先-在线树上倍增
  • 原文地址:https://www.cnblogs.com/wenruo/p/4801727.html
Copyright © 2020-2023  润新知