C将数组元素地址存储在其他元素中

时间:2014-04-22 02:04:31

标签: c types addressing

我将使用什么数据类型来存储数组中其他元素的地址。

如同在,数组的元素0具有元素5的地址。依此类推..

2 个答案:

答案 0 :(得分:1)

如果您正在执行64位并且您的c编译器将int定义为64位,则可以将指针转换为long(或long。然后你只需要获得你想要指向的元素的地址。

int test[10];
test[0] = (int)&test[5];

答案 1 :(得分:1)

元素的地址与元素的数据类型不同。所以你的代码必须涉及一些类型转换。

用最少的演员来做:

T some_object;

void *array[20];
array[0] = &some_object;
array[5] = &array[0];

// ....

T *some_ptr = *(void **)array[5];