[C] 使用一维数组型指针作为二维数组形参 →→→→→进入此内容的聊天室

来自 , 2020-08-04, 写在 C, 查看 110 次.
URL http://www.code666.cn/view/23af4b45
  1. /* 使用一维数组型指针作为二维数组形参 */
  2. #include <stdio.h>
  3.  
  4. #define ROW_SIZE        3
  5. #define COL_SIZE        3
  6.  
  7. void print_array(int (*p)[COL_SIZE], const int row) {
  8.         int i, j;
  9.  
  10.         for (i = 0; i < row; ++i) {
  11.                 for (j = 0; j < COL_SIZE; ++j)
  12.                         printf("%4d", *(*p + j));
  13.                 printf("\n");
  14.                 ++p;
  15.         }
  16. }
  17.  
  18. void reverse(int (*p)[COL_SIZE], const int row) {
  19.         int i, j;
  20.  
  21.         for (j = 0; j < COL_SIZE; ++j) {
  22.                 for (i = 0; i < row; ++i)
  23.                         printf("%4d", *(*(p + i) + j));
  24.                 printf("\n");
  25.         }
  26. }
  27.  
  28. int main(void) {
  29.         int array[ROW_SIZE][COL_SIZE] = { { 1, 2, 3 }, { 11, 12, 13 },
  30.                         { 21, 22, 23 } };
  31.  
  32.         printf("Output the matrix:\n");
  33.         print_array(array, ROW_SIZE);
  34.  
  35.         printf("Reverse the matrix:\n");
  36.         reverse(&array[0], ROW_SIZE);
  37.  
  38.         return 0;
  39. }
  40.  

回复 "使用一维数组型指针作为二维数组形参"

这儿你可以回复上面这条便签

captcha