【发布时间】:2021-06-09 06:59:19
【问题描述】:
我非常需要的是一个数组A[10],它的每个元素都指向数组B[10] 的各个元素,每个元素都存储它的索引。
因此,A[1] 指向 B[1],B[1] 的值为 1。
所以,当我调用 *A[1] 或 *B[1] 时,我得到 1。
我知道如果数组 B[10] 不是指针数组而是整数数组,这会非常容易,但我需要这个用于其他目的。
这是我所做的,但提供了分段错误。
#include <stdio.h>
int main() {
int *A[10];
int *B[10];
for(int i=0; i<10; i++) {
A[i] = B[i];
*B[i] = i;
printf("\n%d %d",*A[i],*B[i]);
}
}
顺便说一句,我对指针不是很熟练。
【问题讨论】:
-
无法复制,请提供minimal reproducible example
-
@mr.loop 您的代码运行良好。提供可编译的完整代码。
-
x = *y[1];是未定义的行为。您正在取消引用未初始化的指针。 -
@Jabberwocky 不好意思,我把问题搞砸了。最后进行编辑以使其精确且可重复。
-
@Lundin 已编辑以反映原始问题。