21xrx.com
2024-11-25 01:11:39 Monday
登录
文章检索 我的文章 写文章
C++中的双星号(**)
2023-07-08 12:57:29 深夜i     --     --
- C++ - 双星号 - 指针 - 多级指针 - 动态分配内存

C++中的双星号(**)是一个重要的概念,它通常用来表示指针的指针或者是二维数组。在C++中,指针的指针被称为“二级指针”,因为它实际上是一个指向指针的指针。这个概念非常重要,因为它可以让我们创建多级数据结构,例如树和链表。

让我们来看看一个例子,假设我们有一个指向整型变量的指针(int*),我们也可以有一个指向指针的指针(int**)。一个指针保存了变量的内存地址,而一个指向指针的指针则保存了指向另一个指针的变量的内存地址。因此,对于指针的指针,我们需要对指针进行两次解引用(**),以便能够获得存储在它所指向的指针中的值。

除了可以用来表示指针的指针,双星号还可以用来定义二维数组。在C++中,二维数组本质上是由多个一维数组组成的,每个一维数组本身又是由多个变量组成的。因此,我们可以使用双星号来定义二维数组,如下所示:

int** array = new int*[row];

for(int i = 0; i < row; i++)

  array[i] = new int[col];

在这里,我们使用一个指向指针的指针来分配内存,其中第一个指针指向行数,第二个指针指向列数。然后,我们使用循环为每个指针分配空间。这种方式不仅可以节约空间,而且可以让我们更好地管理内存。

总之,双星号是一个非常重要的概念,可以用来表示指针的指针或者是二维数组。熟练掌握它可以帮助我们更好地管理内存,并创建更高级的数据结构。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复