回覆列表
  • 1 # 使用者6765375850720

    用陣列時,必須要知道二維陣列的後一個維度,否則無法正確修改,比如:

    void modify(int a[][10])

    {

    a[1][2] = 12;

    a[2][5] = 25;

    }

    void main()

    {

    int a[5][10];

    a[1][2] = 0;

    a[2][5] = 0;

    modify(a);

    printf("a(1,2)=%d, a(2,5)=%d\n",12, 25);

    }

    用指標方式實現時要注意二維陣列的建立過程。比如以上的int a[5][10],用指標實現相同功能的程式碼如下:

    void modify(int **a)

    {

    a[1][2] = 12;

    a[2][5] = 25;

    }

    void main()

    {

    int **a;

    a = (int **) malloc( sizeof(int *) *5);

    for(int i=0 ; i

    a[i]=(int *) malloc(sizeof(int)*10);

    a[1][2] = 0;

    a[2][5] = 0;

    modify(a);

    printf("a(1,2)=%d, a(2,5)=%d\n",12, 25);

    }

  • 中秋節和大豐收的關聯?
  • 求黃金太陽2所有技能石板獲得方法?