1. 程式人生 > >二維數組和數組指針的關系

二維數組和數組指針的關系

for 二維 本質 今天 我們 一維數組 話題 和數 二維數組

  昨天既然寫了一些關於數組指針的話題,那麽今天就寫一些關於數組指針的話題吧!

  數組指針:這樣讀 數組的指針 , 即指向數組的指針,就是數組指針,其本質就是一個指針

  比如:int (*a)[3];就是一個數組指針,運用如下  

  #include <stdio.h>
  #include <string.h>
  #include <stdlib.h>

  int main

  {

    int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}};

    int (*b)[3];

    int i = 0,j = 0;

    b = a;

    for(i = 0 ; i < 3; i++)

    {

      for(j = 0;j < 3; j++)

      {

        printf("%d ",b[i][j]);

      }

    }

  }

  然後我們可以發現可以打印出所有的數字 1到9;也就是說函數指針和二維數組的用法是一樣的;關於指針數組和數組指針怎麽說好了,大致的用法就是這樣了,關於它們的等價關系我給大夥看一下:

      數組參數          等效的指針參數

  一維數組 char a[30]     ==》   指針 char *a;

  指針數組 char *a[30]      ==》   指針 char **a;

  二維數組 char a[10][30]    ==》   數組的指針 char (*a)[30];

大概就是這樣了;

二維數組和數組指針的關系