主题:请教指针数组
			 comprehension
				 [专家分:0]  发布于 2010-05-04 17:00:00
 comprehension
				 [专家分:0]  发布于 2010-05-04 17:00:00							
			请教数组beans[i][j]用指针表示:beans表示数组中第一行的地址,为什么*(beans+i)表示第i行的第一个元素的地址?而不是用beans+i?
						
					 
		
			
回复列表 (共3个回复)
		
								
				沙发
				
					 雪光风剑 [专家分:27190]  发布于 2010-05-04 18:53:00
雪光风剑 [专家分:27190]  发布于 2010-05-04 18:53:00				
				对于二维数组而言 ,beans+i从值上看跟beans[i]也就是*(beans+i)是一样的,不过表示的意义不一样。前者表示的是该数组的第i行整体,后者表示第i行首地址(与该行第一个元素的地址值相同)
							 
						
				板凳
				
					 comprehension [专家分:0]  发布于 2010-05-05 14:29:00
comprehension [专家分:0]  发布于 2010-05-05 14:29:00				
				
谢谢。beans+i表示第i行地址,其实也就是第i行第一个元素的地址(因为是连续储存空间),所以我觉得*(beans+i)应该就是其应用值,即第一个元素的值,为什么不是呢?我想知道其原理。。。
							 
						
				3 楼
				
					 雪光风剑 [专家分:27190]  发布于 2010-05-05 18:42:00
雪光风剑 [专家分:27190]  发布于 2010-05-05 18:42:00				
				分析一下类型就知道了
beans是int[][]
那么*beans是什么类型呢?自然就是int[]了,不是int哦~
							 
									
			
我来回复