回覆列表
  • 1 # 南風微涼北島一院丁

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

    voidmodify(inta[][10])

    {

    a[1][2]=12;

    a[2][5]=25;

    }

    voidmain()

    {

    inta[5][10];

    a[1][2]=0;

    a[2][5]=0;

    modify(a);

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

    }

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

    voidmodify(int**a)

    {

    a[1][2]=12;

    a[2][5]=25;

    }

    voidmain()

    {

    int**a;

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

    for(inti=0;i<5;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);

    }

  • 中秋節和大豐收的關聯?
  • 校園網提醒修改了網絡卡MAC地址,怎麼解決?