【发布时间】:2023-11-27 09:25:01
【问题描述】:
我有一个包含指针的数组。如何正确交换两个指针 - 比如说 array[1] 和 array[4]?
【问题讨论】:
-
既然我看到了你关于数组的其他问题,我需要问:那些是函数指针吗?如果是,则无法保证使用
void *的解决方案有效。 -
我在一个包含如下指针的 int 数组上执行交换:myPointerArray[0] 指向 array[0],myPointerArray[1] 指向 array[1] 等等。这会导致问题吗?
-
唯一的问题是如果你混合指向数据的指针和指向函数的指针。在某些架构上,数据和功能必须分开寻址空间,您不能这样做:
int f(); void *p; ... p = f;。如果我明白你所说的,你应该没问题,但你可能会发布更多代码来确定。