【发布时间】:2010-12-19 02:19:55
【问题描述】:
我读过这篇文章,但我不相信:) 我这里没有编译器可以测试。
【问题讨论】:
标签: c
我读过这篇文章,但我不相信:) 我这里没有编译器可以测试。
【问题讨论】:
标签: c
在原始 C 中,[] 符号只是一个指针数学助手。在[] 之前,您会在ptr 指向的块中查找第四个字符,例如:
*(ptr+4)
然后,他们引入了一个看起来更好的快捷方式:
ptr[4]
转换为前面的表达式。但是,如果你想这样写:
4[ptr]
这将转化为:
*(4+ptr)
这确实是一回事。
【讨论】:
因为a[b]和*(a+b)完全一样,而且+是可交换的。
chars[4] 是 *(chars+4),4[chars] 是 *(4+chars)
【讨论】:
【讨论】: