【发布时间】:2016-10-30 03:27:51
【问题描述】:
所以我有一个函数,它返回一个指向数组 A 中元素的指针。我还有另一个函数,它将该指针作为参数。但是,我需要该函数能够处理它可能被传递一个完全任意指针的可能性。
有没有办法检测指针是否指向结构中的某个位置?在这种情况下,我的数组 A?
我见过类似的关于 C++ 的问题,但不是关于 C 的。
【问题讨论】:
-
可能还有另一个问题在问这个问题。排序。标准并没有说它会起作用,但是如果你知道数组的开始、元素的数量和每个元素的大小,以及给定的指针,那么你就可以判断给定的指针是否落在数组的开始和结束。问题是,如果指针超出范围,则无法保证按标准进行比较,尽管现在大多数情况下,在非分段机器(大多数)上,它实际上确实有效。
-
如果您正在处理数组,为什么不接收偏移量?我的意思是,一个简单的整数用作索引。这样您就可以节省检查物品的费用。