C语言中,不存在多维数组对吧, n维数组等于n-一维数组的一维数组。这句话怎么理解

Python013

C语言中,不存在多维数组对吧, n维数组等于n-一维数组的一维数组。这句话怎么理解,第1张

就是说多维数组其实也是一维的,你可以这样看,比如array[m][n],看着是二维的,其实应该解释成一个含有m个元素的一维数组,其中每一维度都含有n个元素,也就是数组的数组,它在计算机内存中可以以行存储或者以列存储,在内存中是连续的,也可以说线性的。

举个例,你可以将A[0][]、A[1][]......A[N-1[]]看成是多个一维数组,在N维数组A的作用是存储各个一维数组的地址,像要调用A[2][3]的数据,就相当于先在数组A中找到地址A[2][],然后再从数组A[2][]中找到第4个数据

#include <stdio.h>

int main(void)

{

int n,i,*p

printf("请输入一个整数:")

scanf("%d",&n)

p=new int[n]

for(i=0i<ni++)

*(p+i)=i

for(i=0i<ni++)

printf("%d ",*(p+i))

putchar('\n')

delete []p

return (0)

}