【问题标题】:Pointer to pointer in a structure [closed]指向结构中的指针的指针[关闭]
【发布时间】:2017-09-01 21:21:49
【问题描述】:

如何通过另一个指针访问结构的成员(即指针)?假设 *ptr 是我想用来访问 *time 的指针,它是属于该结构的指针。如果我写 ptr->time 是否正确?

如果我想将 v[i](数组)的值赋给 *time,如果我写 ptr->time = v[i] 会正确吗?

【问题讨论】:

  • 请发布一个您想到的明确用例。不要描述一些抽象的代码。
  • 您可以在进程内存空间中拥有指向任何地址的指针。所以你可以指向任何你想要的东西。
  • @Fredrik:这并不完全正确。它过于简单了。
  • '如果我想将 v[i](数组)的值分配给 *time,我写 ptr->time = v[i] 是否正确?好吧,如果这两种类型是可分配的,那对我来说看起来还可以。为什么不试试呢:)

标签: c arrays pointers structure


【解决方案1】:

如果我想将 v[i](数组)的值赋给 *time,如果我写 ptr->time = v[i] 会正确吗?

没有。如果你有...

struct {
    int *time;
} *ptr;
int v[10], i = 0;

...那么你必须写 *(ptr->time) = v[i]

如果时间是一个指针,那么在一个结构中不会改变它。所以如果你想访问时间指向的 int,你也必须尊重它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-14
    • 2016-03-21
    • 2012-03-28
    • 2018-05-16
    相关资源
    最近更新 更多