C语言初学者必看--动态定义二维数组的方法
cc陈c:
补充一点,二维数组和二级指针在某种程度上有一定的关联,但它们之间并不完全等同。二维数组是一个多维数组,由多个一维数组组成。在C语言中,二维数组的名字实际上是一个指向一维数组的指针。
二级指针是指向指针的指针。它本身是一个指针,但它指向的是另一个指针。在这个意义上,二维数组名可以被看作是一种二级指针,因为它指向的是一个一维数组。
然而,二维数组和二级指针之间存在一个关键区别:二维数组名在初始化时可以被赋予一个二维数组的地址,而二级指针只能指向一个一维数组的地址。
综上所述,二维数组名可以被理解为一种二级指针,但它们之间仍有区别。在实际编程中,当我们需要操作二维数组时,通常使用二维数组名作为一级指针,而不是二级指针。这是因为二维数组名可以直接访问二维数组中的元素,而二级指针则需要通过一层间接访问,这会导致性能下降。
所以,虽然二维数组名可以理解为一种二级指针,但在实际操作中,它们更多地被视为一级指针来使用。