zoukankan      html  css  js  c++  java
  • 数组转置(函数指针,回调函数)

      1 #include <stdio.h>
      2 
      3 int funk(int (*a)[3], int (*b)[2])
      4 {
      5         int i, j;
      6 
      7         for(i=0; i<2; i++)
      8                 for(j=0; j<3; j++)
      9                         *(*(b+j)+i) = *(*(a+i)+j);
     10 }
     11 
     12 int funk1(int ( (*p)(int (*)[3], int (*)[2])), int (*a)[3], int (*b)[2])
     13 {
     14         p(a, b);
     15 }
     16 
     17 int main()
     18 {
     19         int arr[2][3] = {{3, 6, 2}, {9, 7, 4}};
     20         int brr[3][2] = {0};
     21         int i, j;
     22 
     23         for(i=0; i<2; i++){
     24                 for(j=0; j<3; j++){
     25                         printf("%d ", *(*(arr+i)+j));
     26 
     27                 }
     28 
     29                 printf("
    ");
     30         }
     31 
     32 //      funk(arr, brr);
     33         int (*p)(int (*)[3], int (*)[2]) = funk;
     34 //      p(arr, brr);    
     35         funk1(p, arr, brr);
     36 
     37         for(i=0; i<3; i++){
     38                 for(j=0; j<2; j++){
     39                         printf("%d ", *(*(brr+i)+j));// 将brr 写成 arr,无言以对。
     40 
     41                 }
     42                 printf("
    ");
     43         }
     44 
     45 }
    © 版权声明
    文章版权归作者所有,未经允许请勿转载。【QQ交流:115124903】
    THE END
  • 相关阅读:
    Linux file命令详解
    Linux stat命令详解
    Linux cut命令详解
    Linux tr命令详解
    Linux grep/egrep命令详解
    Linux awk命令详解
    Linux xargs命令详解
    MVC设计模式
    qt博客
    android
  • 原文地址:https://www.cnblogs.com/luoxiang/p/4036201.html
Copyright © 2011-2022 走看看