数组分为一维数组和二维数组。
一维数组的存储地址计算:
a[i]的存储地址为:a+i*len
a为数组首个元素的地址,i是第几个元素,len表示一个元素占几个内存空间。
二维数组,假定行数是m,列数是n
a[i][j]的存储地址,按行存储 a+(i*n+j)*len
a[i][j]的存储地址,按列存储 a+(j*m+i)*len
数组分为一维数组和二维数组。
一维数组的存储地址计算:
a[i]的存储地址为:a+i*len
a为数组首个元素的地址,i是第几个元素,len表示一个元素占几个内存空间。
二维数组,假定行数是m,列数是n
a[i][j]的存储地址,按行存储 a+(i*n+j)*len
a[i][j]的存储地址,按列存储 a+(j*m+i)*len