p和*p:
如图,p是指针,指针存放着地址,打印出来应该是数组的值
*p是指针里里面的元素
#include<stdio.h>
int main()
{
int a=1;
int b=2;
int c=3;
int p[3]={a,b,c};
printf("%d",*p);
return 0;
}
那么现在的打印结果应该为数组的首元素
如果*p+1
那么,指针数组也样的道理:
先看一下不用指针数组的二维数组:
#include<stdio.h>
void print(int arr[3][3],int x,int y)
{
int i=0;int j=0;
for(i=0;i<x;i++)
{
for(j=0;j<y;j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
}
int main()
{
int arr[3][3]={{1,2,3},{4,5,6},{7,8,9}};
print(arr,3,3);
}
然后再看用指针数组去怎么写: