二维数组和数组指针的关系
Posted SmartGame
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二维数组和数组指针的关系相关的知识,希望对你有一定的参考价值。
昨天既然写了一些关于数组指针的话题,那么今天就写一些关于数组指针的话题吧!
数组指针:这样读 数组的指针 , 即指向数组的指针,就是数组指针,其本质就是一个指针
比如: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];
大概就是这样了;
以上是关于二维数组和数组指针的关系的主要内容,如果未能解决你的问题,请参考以下文章