【问题标题】:The shortest path to an array of struct结构数组的最短路径
【发布时间】:2018-04-25 03:32:31
【问题描述】:

为了得到一个结构数组,我做了:

int main() {
    typedef struct {
        int size;
        double time;
    } timming_s;
    timming_s timming[5];
    timming[0] = (timming_s){(int)1e5, 0.0};
    timming[1] = (timming_s){(int)2e5, 0.0};
}

有没有更紧凑的形式来获取它?我试着写:

int main() {
    struct timming_s {
        int size;
        double time;
    } timming[5];
    timming[0] = {(int)1e5, 0.0};
    timming[1] = {(int)2e5, 0.0};
}

【问题讨论】:

  • 初始化列表不应该反过来吗? 1e5 是双精度,0 是整数。或者如果顺序正确,您应该添加一些演员表。
  • 问题已编辑。顺序是正确的。但我错过了1e5 是双倍的事实。

标签: c arrays data-structures struct c11


【解决方案1】:
int main(void) {
  struct {
    int size;
    double time;
  } timming[5] = {{1e5, 0}, {2e5, 0}};
//  } timming[5] = {{.size = 1e5, .time = 0}, {.size = 2e5, .time = 0}};
}

【讨论】:

  • 如果需要typed,该怎么办?
  • @KcFnMi 你不能typedef 不允许像 struct 一样同时声明变量。 rextester.com/JOLNL9436
猜你喜欢
  • 2012-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-16
  • 2015-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多