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


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

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

  比如: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];

大概就是這樣了;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM