3 回答
TA贡献1801条经验 获得超16个赞
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
| | 58 | | | 63 | | 55 | | | h | e | l | l | o | \0 | |
+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
您可以在这里看到,在地址63处,字符串“hello”开始。所以在这种情况下,如果这是内存中唯一出现的“Hello”,
const char *c = "hello";
cc
const char **cp = &c;
cpcc
const char ***cpp = &cp;
cppcp
数组的名称通常会产生第一个元素的地址。因此,如果数组包含类型为 t,对数组的引用具有以下类型 t *..现在考虑一个类型数组的数组。 t:对这个2D数组的引用自然会有类型 (t *)*=t **,因此是指向指针的指针。 尽管字符串数组听起来是一维的,但实际上是二维的,因为字符串是字符数组。因此: char **.函数 f将需要接受类型的参数。 t **如果要更改类型的变量 t *.还有很多其他的原因在这里无法列举。
- 3 回答
- 0 关注
- 633 浏览
添加回答
举报
