int[][] arr = new int[LEN][LEN]; for (int i = 0; i < LEN; i++) { for (int j = 0; j < LEN; j++) { arr[j][i] = 1; } } 两段代码功能完全一样,究竟有何区别?两者性能会有数十倍或者数百倍之差。 有些同学看到这里,直接祭出IDE,运行试了一下,发现第一段代码的性能最优,...
a[i]就是一个数组,包含第i行(从第0行开始)的所有元素
学过坐标没?(x,y),x在前,为横坐标;y在后,为纵坐标。引申一下就可以了。
二维数组中a[i][j]表示的是元素。
[0],是第1行,第1列;a[1][0],是第2行,第1列;a[2][0],是第3行,第1列;。。。a[i][0],是第i+1行,第1列;a[i][1],是第i+1行,第2列;a[i][2],是第i+1行,第3列;。。。a[i][j],是第i+1行,第j+1列;这样表示,你应该能明白了吧。
a[i][j],i是行数,j是列数。a[0][1]就是第0行第1列的元素。a[0][0]当然是第0行第0个元素,即数组的首元素。
a是一个二维数组,a[i]表示其中的一行,是个一维数组,a[i][j]表示一行里面的一个元素。(a+i)就是a[i],是一个一维数组,当然表示一个地址,表示这个一维数组里面的第一个元素a[i][0]的地址。
a[i][j]是第i行(0算起)第j列(0算起)的元素值。a+i是第i行的行指针,那么*(a+i)就是第i行第0个元素的指针,自然*(a+i)+j就是第i行的第j个元素的指针了,最后通过这个指针用*取出来的值*(*(a+i)+j)不就是第i行第j列的值,这就和a[i][j]完全是一回事。
二维数组a定义为a[i][j]时,代表一组数据,有i行j列,共计i*j的元素。这组数据在内存中是连续存放的。而在C语言的使用中,a是二维数组的首地址。*a也就是a[0],是二维数组第一行的首地址。所以,二者是相同的地址值,即数据a[0][0]的地址值。也就是说,从值上,a,*a, a[0],&a[...
解答一 举报 a[i]表示 a[i][0] a[i][j]是所有元素 解析看不懂?免费查看同类题视频解析查看解答 相似问题 二维数组a有n列,a【i】【j】前的元素有多少个? 若二维数组a有m列,则在a[i][j]前的元素个数是多少? 我们用aij表示矩阵Amxn的第i行第j列元素,1≤i≤m,1≤j≤n(i、j、m、n∈N*)...