[英]Adding to extern array of struct. (C programming language)
我對C編程很新,所以如果這看起來太初級,我會道歉。 這是我的問題的縮小版本,我基本上試圖在索引0處將名為r_a的extern數組中存儲一個struct元素
頭文件:
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");
}
為什么這不起作用,解決方案是什么?
你錯過了; 從struct block結束。
正確:
struct Foo {
int j;
};
extern只聲明數組,你必須通過put保留數組的內存空間
struct rescue_asset r_a[51];
例如,在主源文件中
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;
}
struct rescue_asset r_a[51];
你應該在某處定義這個變量,也許你可以在main.cpp中定義。 因為在頭文件中,您已將變量定義為extern。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.