1.数组指针
定义 int (*)[ ]数组指向二维 int 数组
定义 int 指针指向二维数组的第一个元素
指针的写法较多,从我个人的尝试中选择几种写法分析。
代码1:
#include<bits/stdc++.h>
using namespace std;
int* p[12]; //数组的每一个元素都是指针
int a[12][12];
void init()
{
for(int i=1;i<=10;i++)
for(int j=1;j<=10;j++) a[i][j]=i+j;
}
int main()
{
for(int i=1;i<=10;i++) p[i]=a[i]; //每个指针指向数组的a[i][0]元素
init();
//int b[12];
//int (*q)=b; *q=&b[0];
//int (*q)[12]=a+1; //q[i][j]=xxx;
for(int i=1;i<=10;i++)
{
for(int j=1;j<=10;j++)
printf("%d ",p[i][j]); //直接调用指针的值
puts("");
}
return 0;
}
输出结果正常。
代码2
输出的最后一行居然为 0 ,这是为什么呢?