C语言:数组和for循环

数组:
分为:1 数组,2 数组的数组;

在这里插入图片描述
数组的数组:
在这里插入图片描述
数组符号:[ ] 和数组是没有关系的。
*(p+i) =p[i];
p[i]可以写成i[p];


下面是我去年写的,这个笔记是梳理整合


所谓数组为2的有3个就是把内存好比为房间,int hoge[3][2]就是有3个大箱子其中每个大箱子都有2个小隔间,元素就呆在小隔间里。
所以hoge[i]是指数组(元素个数为2)的数组(元素个数为3)的第i个元素,其类型是数组(元素个数为2);
翻译一下这个i的类型就是小隔间。如上图二大爷家的:b
还有不得不说,如果小的时候养成集中注意力的话,也许我现在就不会在这个大学里了,到现在才知道怎么集中注意力真是不知道该怎么说了。
那么我们的

for(int i=0;i<3;i++)
{ 
	for(int j=0;j<2;j++)
	{
		printf("%d",hoge[i][j]);
	}
}

//这个意思就很清楚了,我们想要输出数组的数组里面全部的数。那么就要把内存里的数全部输出来。
那怎么才能把所有的东西都拿出来呢。
就好比你有三个大箱子,你怎么样把里面的东西都拿出来还不乱套,你只能一个一个的箱子去拿,这样才不会乱
所以,我们要从第一个箱子开始拿,
第一个箱子 第一个隔间 i=0 j=0
第一个箱子 第二个隔间 i=0 j=1
第二个箱子 第一个隔间 i=1 j=0
第二个箱子 第二个隔间 i=1 j=1
第三个箱子 第一个隔间 i=2 j=0
第三个箱子 第二个隔间 i=2 j=1
故第一个for是你拿的箱子,第二个for是你拿的隔间

第二个例子

int a[3][4]
int类型的数组(元素为4)的数组(元素为3)
int类型的数组4有3个
在这里插入图片描述
int a[3][4]三个箱子里有4个隔间

for(int i=0;i<3;i++)
{
	for(int j=0;j<4;j++)
	{
		printf("%d",a[i][j]);
	}
}

所以再来一个int hoge[4][3]

void func(int(*hoge)[3])
{
	 int i, j;
	 for (i = 0; i < 4; i++)
	 {
		  for(j=0;j<3;j++)
		  {
		   	printf("%d,", hoge[i][j]);//i是数组元素个数为3的,j是数组元素个	数为4的
		  }
		  putchar('\n');
	 }
}
int main()
{ 	 //int类型的数组(元素个数为3)的数组(元素个数为4)
	 int hoge[][3] = { {1,2,3},{4,5,6},{7,8,9},{10,11,12} };
	 //=int hoge[4][3]
	 //=int (*hoge)[3]
	 func(hoge);
	 system("pause");
}

在这里插入图片描述如此数组便也是清晰明了了,对于for循环也是明白了

发布了32 篇原创文章 · 获赞 7 · 访问量 4003

猜你喜欢

转载自blog.csdn.net/qq_43026792/article/details/104195478