PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] 二维阵列指标表示方法
楼主:
lllll12b56
(saiwagon)
2022-02-02 17:35:53
想问各位大神
例如我宣告a[5][5]这个二维阵列
为什么a+2的值跟*(a+2)的值都是位置
还是同样的位置?
我原本还以为*(a+2) = a[2][0]
结果自己试才知道要取a[2][0]要**(a+2)
作者:
wei115
(ㄎㄎ)
2022-02-02 18:23:00
阵列和指标不一样 只是编译器会想让这两个看起来一样阵列是连续的内存 取值是加上偏移指标的指标是有一个位置内存了位置 再由这个位置找到值可是在C里面a[2][0]却可以表示成*(*(a+2)+0) 这些差异编译器会默默帮你搞定
作者:
Dracarys
(MayShowGunMore)
2022-02-02 20:28:00
*(a+2)的type是T[5],**(a+2)会work是因为array to ptrdecay成&T[2][0]然后你再dereference啊不是&T[2][0]是&a[2][0]
楼主:
lllll12b56
(saiwagon)
2022-02-02 21:03:00
感谢各位
继续阅读
[问题] is_nothrow_move_constructible 相关问题
alan23273850
[分享] 高清 1080P C++面向对象高级编程(侯捷)
descent
[问题] 从主程式移出函数遇到exception thrown
Vvvahc
[问题] [QT] 为什么GUI卡住了...
liu2007
[问题] openMP产生比section数多的thread
school4303
[问题] 排列数字有误(已解决!
jerryhey
[问题] vector emplace_back 疑似page fault问题
laughingman
[问题] vector emplace_back() 花费时间问题
laughingman
Re: [问题] 暂时物件产生的原因
sarafciel
[问题] 暂时物件产生的原因
WangDaMing
Links
booklink
Contact Us: admin [ a t ] ucptt.com