关于C语言中二维数组的问题。

2025-05-04 19:47:47
推荐回答(3个)
回答1:

楼主这样理解是有问题的。

首先我们要先确定每个变量均是几维指针,a[0][0]不是指针,而是存储具体类型的变量,而后,
a[0]是一维指针,其指向数组a[0][0],a[0][1],a[0][2]的首地址,也就是a[0][0]的地址。最后,a也是指针,只不过他是二维指针,其中存储的也是地址,向上面一样,他存储的是a[0]的地址。所以他们之间并不是什么包含与被包含的关系。
他们之间仅仅是一个指向的关系。

回答2:

这种问题,跟数据的内存存储和指针(不知道楼主学过指针没有)有莫大的关系!你可以这样理解,二维数组a[3][4]的存储就是在内存中划一块3*4的12个格子的空间,a跟a[0]都指向了第一行的首地址,同样,a[1]指向了第二行的首地址。a、a[0]等都只是一个地址,它们本身并没有“装下”什么的。

回答3:

LS错误。C语言没有new和delete关键字,这是C++的内容。
回答见http://zhidao.baidu.com/question/305230874.html。