【问题标题】:Assign variable to attribute in struct [closed]将变量分配给结构中的属性[关闭]
【发布时间】:2015-04-04 19:57:28
【问题描述】:

我无法打印 c 结构的属性。该结构有一个名为 room_id 的整数属性,我要做的就是打印该属性。

static void process_a_reading(struct reading_t reading) {
        int r_id = reading.room_id;
        printf("Room Id: %d", r_id);
}


struct reading_t {
    int room_id ;
    struct event_t event ;
} ;

【问题讨论】:

  • 当你尝试这个时,结果是……? (* 真的存在吗?)
  • process_a_reading() 怎么称呼?使用reading 的哪个参数?

标签: c struct structure


【解决方案1】:

reading_t 是创建 typedef 时使用的常规命名法。我修改了示例以显示 typedef,并将函数签名替换为使用 typedef'd 类型。另外,我会亲自将结构作为指针传递给函数。

typedef struct reading {
    int room_id ;
    struct event_t event ;
} reading_t;

static void 
process_a_reading(reading_t *reading) {
    int r_id = reading->room_id;
    printf("Room Id: %d", r_id);
}

int 
main(void) {
      reading_t myReading = { 20, NULL };
      process_a_reading(&myReading);
}

【讨论】:

  • @WeatherVane 这没有任何意义。你为什么要赞成一个错误的答案。
  • 好的,现在你为什么要传递一个指针? “个人”不是理由。
  • @1sand0s 老实说,您应该删除答案,您没有解决问题,并且应该关闭问题,因为没有问题出现。
  • @2501 - 我会保留我的答案,因为我喜欢它:-) 但我不介意你删除这个问题。我无权自行关闭和删除它。
  • @1sand0s 这不是真的。您可以随时删除自己的答案。
猜你喜欢
  • 2014-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-02
  • 1970-01-01
  • 2018-03-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多