Lab2:数据组织基础方法及创新应用(创新)

发布时间 2023-10-17 19:40:45作者: conprour

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

image
输出的最后一行居然为 0 ,这是为什么呢?

代码3