在c中,int(*)[]是什么?

Ada*_*dam 3 c

在我继承的一些c代码中,我看到了以下内容

int (*b)[] = (int(*)[])a;
Run Code Online (Sandbox Code Playgroud)

int(*)[] 是什么?它与 int** 有什么不同?

ike*_*ami 8

根据“顺时针/螺旋规则”

int(*)[]是一个指向 int 数组的指针。

int(*)[]       int[]
+---------+    +---------+
|      ------->|         |
+---------+    +---------+
               :         :
Run Code Online (Sandbox Code Playgroud)

int**是一个指向 int 指针的指针。

int**          int*           int
+---------+    +---------+    +---------+
|      ------->|      ------->|         |
+---------+    +---------+    +---------+
               :?        :?   :?        :?
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,比 更int(*)[]接近。int*int**

int*           int
+---------+    +---------+
|      ------->|         |
+---------+    +---------+
               :?        :?
Run Code Online (Sandbox Code Playgroud)