c - 添加到结构的外部数组。 (C 编程语言)

标签 c arrays struct

我是 C 编程的新手,所以如果这看起来太简陋,我深表歉意。 这是我的问题的缩小版本,我基本上是在尝试在名为 r_a 的外部数组中的索引 0 处存储一个结构元素

头文件:

  struct rescue_asset {
      char callsign[31];
      char type;
  };

  extern struct rescue_asset r_a[51]; 

主文件:

  #include "header_file.h"

  int main(int argc, char** argv) {
      strcpy(r_a[0].callsign, "ID");
  }

为什么这不起作用,解决方案是什么?

最佳答案

Extern 声明数组但不定义它。在头文件中定义,在主文件中使用

//Header file
struct rescue_asset {
char callsign[31];
char type;
}r_a[51]; 

//Main file
#include<header.h>
extern struct rescue_asset r_a[51];
int main(int argc, char** argv) {
strcpy(r_a[0].callsign, "ID");
return 0;
}

关于c - 添加到结构的外部数组。 (C 编程语言),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20445166/

相关文章:

c - 使用头文件 C 中定义的结构

c - 是否可以仅按名称管理 JobObject,而无需保持打开的 HANDLE?

javascript - 使用 jQuery 访问多维 JSON 数组中的数据

ios - 如何从属性列表中的 NSDictonary 中的 NSDictonary 获取数据?

c++ - 我的程序只读取半个数组 c++

javascript - 在 freecode camp 检查点上查找个人资料

c - 为什么位字段的类型会影响包含结构的大小?

c - char *token[32] 和 char token[32] 的区别

c - 给定间隔的随机字符串

c - Eclipse CDT - 共享库依赖问题