双重间接
Double indirection
问题如下。
我有一个结构:
typedef unsigned int nat;
struct intervalo_t{
nat fin;
nat inicio;
};
我完成了以下操作(其中 inter
是一个大小为 n
的动态数组,其中加载的元素类型为 intervalo_t
):
intervalo_t** aux=new intervalo_t*[n];
for (nat i=0; i<n; i++){
aux[i]=inter[i];
}
我现在要做的是显示inter[i].fin
的内容,但是我只有aux[i]
的访问权限。如果它们是原始类型(例如 int
),我会做类似 printf("%d", **aux)
的事情,就是这样。有没有一种方法可以做类似的事情,但使用上面定义的结构?
inter[i]
是 intervalo_t*
类型,因此您可以使用 (*inter[i]).fin
或 inter[i]->fin
。 aux[i]
同样也是 intervalo_t*
.
问题如下。 我有一个结构:
typedef unsigned int nat;
struct intervalo_t{
nat fin;
nat inicio;
};
我完成了以下操作(其中 inter
是一个大小为 n
的动态数组,其中加载的元素类型为 intervalo_t
):
intervalo_t** aux=new intervalo_t*[n];
for (nat i=0; i<n; i++){
aux[i]=inter[i];
}
我现在要做的是显示inter[i].fin
的内容,但是我只有aux[i]
的访问权限。如果它们是原始类型(例如 int
),我会做类似 printf("%d", **aux)
的事情,就是这样。有没有一种方法可以做类似的事情,但使用上面定义的结构?
inter[i]
是 intervalo_t*
类型,因此您可以使用 (*inter[i]).fin
或 inter[i]->fin
。 aux[i]
同样也是 intervalo_t*
.