数据结构这本书有这么个思考题:
如果应用中要求数组下标中某个值,例如 -3 开始,但 C 语言中数组下标只能从 0 开始,如何建立它们之间的映射关系?
挺有意思的问题,考虑下标实际就是指针操作,所以有了以下代码:
|
|
运行结果如下:
|
|
也就是说, array[-3] 其实等价于 arr[0],也就是说有以下关系:
|
|
这样处理的偏移量在某些时候还是很好用的!
数据结构这本书有这么个思考题:
如果应用中要求数组下标中某个值,例如 -3 开始,但 C 语言中数组下标只能从 0 开始,如何建立它们之间的映射关系?
挺有意思的问题,考虑下标实际就是指针操作,所以有了以下代码:
|
|
运行结果如下:
|
|
也就是说, array[-3] 其实等价于 arr[0],也就是说有以下关系:
|
|
这样处理的偏移量在某些时候还是很好用的!