gpt4 book ai didi

检查指针是否指向给定数组

转载 作者:太空宇宙 更新时间:2023-11-04 06:18:30 25 4
gpt4 key购买 nike

所以我有一个函数返回指向数组 A 中元素的指针。我有另一个函数将该指针作为参数。但是,我需要该函数能够处理可能传递给它的完全任意指针的可能性。

有没有办法能够检测指针是否指向结构中的某处?在这种情况下,我的数组 A?

我见过关于 C++ 的类似问题,但不是关于 C。

最佳答案

唯一可移植的方法是对指针的所有可能有效值使用相等性测试。例如:

int A[10];

bool points_to_A(int *ptr)
{
for (int i = 0; i < 10; ++i)
if ( ptr == &A[i] )
return true;

return false;
}

请注意,对两个指针使用关系运算符(例如 <)或减法是未定义的行为,除非这两个指针确实指向同一数组的元素(或指向末尾的元素)。

关于检查指针是否指向给定数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40325787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com