首页 > 代码库 > 数组转置(函数指针,回调函数)
数组转置(函数指针,回调函数)
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("\n"); 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("\n"); 43 } 44 45 }
数组转置(函数指针,回调函数)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。