二維數組和數組指針的關系
阿新 • • 發佈:2017-09-29
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];
大概就是這樣了;
二維數組和數組指針的關系