Computer >> Máy Tính >  >> Lập trình >> lập trình C

Làm cách nào để chuyển một mảng 2D làm tham số trong C?


Mảng 2-D có thể dễ dàng được chuyển làm tham số cho một hàm trong C. Một chương trình chứng minh điều này khi cả hai kích thước mảng được chỉ định trên toàn cục được đưa ra như sau.

Ví dụ

#include <stdio.h>
const int R = 4;
const int C = 3;
void func(int a[R][C]) {
   int i, j;
   for (i = 0; i < R; i++)
   for (j = 0; j < C; j++)
   a[i][j] += 5; ;
}
int main() {
   int a[R][C];
   int i, j;
   for (i = 0; i < R; i++)
   for (j = 0; j < C; j++)
   a[i][j] = i+j;
   printf("Initial 2-D array is:\n");
   for (i = 0; i < R; i++) {
      for (j = 0; j < C; j++) {
         printf("%d ", a[i][j]);
      }
      printf("\n");
   }
   func(a);
   printf("Modified 2-D array is:\n");
   for (i = 0; i < R; i++) {
      for (j = 0; j < C; j++) {
         printf("%d ", a[i][j]);
      }
      printf("\n");
   }
   return 0;
}

Đầu ra

Kết quả của chương trình trên như sau.

Initial 2-D array is:
0 1 2
1 2 3
2 3 4
3 4 5
Modified 2-D array is:
5 6 7
6 7 8
7 8 9
8 9 10