![]() |
1
5
我相信我刚刚验证了我写的是正确的。以下工作如预期:
要记住的是
内存中有3个相邻的数组,每个数组有5个整数。但实际类型是指向5整数数组的指针。当你写作时:
您告诉编译器索引到int[5]的第二个数组,然后访问该数组的第三个元素。编译器实际上对指向的底层类型执行指针算术,在本例中为int[5]。您可以使用以下代码执行相同的操作:
因此,如果您想要一个指向int*[5]的指针数组,那么您可以执行以下操作:
|
![]() |
2
3
首先,第一个数组绑定引用最外层的数组维度,因此您可能应该声明
同样的
您需要的有点奇怪的类型名是:
(注意,假人
解码C/C++类型的一条经验法则是“从变量名开始,可以的时候向右读,碰到右括号的时候向左读”
一般来说,使用它会更好
|
![]() |
3
3
更新
固定类型。谢谢
Robert S. Barnes' answer 以获取要使用的正确类型。]
现在用这个:
|
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 4 月前 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 4 月前 |
![]() |
Bobby · 复合字面值总是左值吗? 4 月前 |
![]() |
9-Pin · C: 嵌套结构的堆栈内存分配 4 月前 |