1樓:
foo.**件裡面寫
#ifndef _foo_h_
#define _foo_h_
struct foo
;#endif
然後每一個需要這個結構體的檔案都加標頭檔案 foo.h
2樓:
標頭檔案裡用extern struct ***; 其中一個.c檔案裡 struct ***;
其他.c要用的話吧這個標頭檔案包含進去。
3樓:匿名使用者
引用結構體有引用型別,和引用全域性變數兩種方式。
1、引用型別。
需要將結構體定義與標頭檔案中(.**件),然後在需要引用型別的原始檔(.c)中,均引用該標頭檔案,即可使用該型別。
2、引用全域性變數。
要引用全域性變數,需要先引用型別,之後在一個原始檔中定義全域性變數,在其它原始檔中宣告該全域性變數,即可使用。
比如結構體為struct test, 定義全域性變數為struct test glabol_test;
在其它檔案中,只需要
extern struct test globol_test;
即可在對應檔案宣告所在行之下進行呼叫。
c語言一個結構體如何在多個原始檔裡面呼叫?
4樓:匿名使用者
引用結構體有引用型別,和引用全域性變數兩種方式。
1、引用型別。
需要將結構體定義與標頭檔案中(.**件),然後在需要引用型別的原始檔(.c)中,均引用該標頭檔案,即可使用該型別。
2、引用全域性變數。
要引用全域性變數,需要先引用型別,之後在一個原始檔中定義全域性變數,在其它原始檔中宣告該全域性變數,即可使用。
比如結構體為struct test, 定義全域性變數為struct test glabol_test;
在其它檔案中,只需要
extern struct test globol_test;
即可在對應檔案宣告所在行之下進行呼叫。
c語言中如何在多個檔案中引用同一個結構體
5樓:滄海雄風
把結構體定義在一個公共標頭檔案裡 然後都包含這個標頭檔案
6樓:匿名使用者
引用結構
來體有引用型別,和引用全域性自變數bai兩種方式。
1 引用型別。
需要du將結構體定義
zhi與標頭檔案中(.**件),然後在dao需要引用型別的原始檔(.c)中,均引用該標頭檔案,即可使用該型別。
2 引用全域性變數。
要引用全域性變數,需要先引用型別,之後在一個原始檔中定義全域性變數,在其它原始檔中宣告該全域性變數,即可使用。
比如結構體為struct test, 定義全域性變數為struct test glabol_test;
在其它檔案中,只需要
extern struct test globol_test;
即可在對應檔案宣告所在行之下進行呼叫。
ps:該宣告部分,也可以寫在定義結構體的標頭檔案中。
7樓:匿名使用者
在包含結構體的檔案開始加一行
#pragma once
這樣只編譯一次
8樓:匿名使用者
//file2.c
#include "file1.h"
#include "file3.c"
st gg;
c語言中定義一個結構體如何在不同的.c檔案中使用。
9樓:家谷秋魯曠
struct
node
這樣就定義了一個結構體型別node,它有兩個int型別的成員,分別是a和b,定義變數是用
struct
node
st_a;
這樣的形式.(例如,上式就定義了一個名為st_a的結構體變數)
10樓:橙心橙願
比如三個.c檔案一個.**件
c 2.c 3.c 4.h這三個標頭檔案都引用4.h include<4.h>4.h中定義一個結構體型別struct test{};
1.c中定義一個該結構體型別的全域性變數struct test mode;
4.h中extern struct test mode;
其他.c檔案就可以直接使用這個結構體變數了,並且是共用的
11樓:匿名使用者
#include
然後就用啊
正式一點的,可以宣告
extren struct ***;
就可以了
注意標頭檔案需要用#ifndef #define #endif或者#pragama once,確保標頭檔案只引入一次,以免引起重複定義的錯誤。
12樓:水上漂湯
使用巨集可以避免重複定義,參考:http://zhidao.
13樓:匿名使用者
包含這個.h標頭檔案即可。
c語言中,將多個結構體資料寫到一個檔案中,應該如何讀取?
14樓:匿名使用者
c語言把一個結構體陣列寫入檔案分三步:
1、以二進位制寫方式(wb)開啟檔案
2、呼叫寫入函式fwrite()將結構體資料寫入檔案
3、關閉檔案指標
相應的,讀檔案也要與之匹配:
1、以二進位制讀方式(rb)開啟檔案
2、呼叫讀檔案函式fread()讀取檔案中的資料到結構體變數
3、關閉檔案指標
參考**如下:
#include
struct stu ;
int read_file();
int write_file();
int main()
int write_file()
;fp=fopen( "stu.dat", "wb" ); //b表示以二進位制方式開啟檔案
if( fp == null ) //開啟檔案失敗,返回錯誤資訊
向檔案中寫入資料
fclose(fp);//關閉檔案
return 0;
}int read_file()
讀檔案中資料到結構體
age, student.score ); //顯示結構體中的資料
fclose(fp);//關閉檔案
return 0;}
15樓:匿名使用者
不太方便,如果用vb.net的xml不容易出錯,
你存結構體到文字,需要精確地定位,非常麻煩啊。
16樓:
1。如果你知道存入檔案的第一個結構是什麼型別的,此種就非常方便了,自己根據 從檔案讀出的第一個結構裡面的下個結構指標 來讀檔案中下個結構。
2。如果你不知道存入檔案的第一個結構式啥型別,但又想分三個結構來存取,那你只能在每個結構裡面加上一個變數來區分是什麼結構,這樣在讀檔案之前先讀出這個變數,根據其值來判斷結構型別
在c語言中,建立一個工程,當多個原始檔要使用結構體變數時,我們應該在哪宣告和定義,應該怎樣宣告?
17樓:
a.c int var;//定義的地方
b.c extern int var;//宣告表明你在其它地方定義過,然後就可以用了
18樓:匿名使用者
在標頭檔案裡面申明一些函式和結構體變數。
在其他 每個原始檔裡面#include 《標頭檔案》.
如果是在一個原始檔中要使用其他原始檔的變數,要用extern 申明。
19樓:匿名使用者
在a.h中宣告結構體。
typedef struct
warn_comm;
在要呼叫的程式.c中
#include "a.h"
warn_comm *warn;
warn = (warn_comm *)malloc(sizeof(warn_comm));
warn->a = 1;
....
C語言中定義結構體如何在不同的 C檔案中使用
家谷秋魯曠 struct node 這樣就定義了一個結構體型別node,它有兩個int型別的成員,分別是a和b,定義變數是用 struct node st a 這樣的形式.例如,上式就定義了一個名為st a的結構體變數 橙心橙願 比如三個.c檔案一個.h檔案 c 2.c 3.c 4.h這三個標頭檔案...
如何在vs2019上執行c 原始檔
首先你要建一個工程,然後將cpp檔案新增進去!然後f7編譯,f5除錯!如何在vs2010中執行編譯c和c nvn小抖 vs2010 需要先建立工程,然後在工程中新增cpp檔案,再編寫 然後編譯執行才可以,給您個圖吧 1。首先新建專案 2。從左邊找到visual c 在中間找到你要建立的專案,一般回事...
c語言結構體檔案寫入亂碼,急!C語言程式設計 寫入檔案的資料變成亂碼是怎麼回事?
fwrite是將記憶體中的資料不經轉換直接寫入檔案,所以檔案中儲存的是二進位制形式,當然看到亂碼了。你可以試試 fprintf fp1,s s s s s s copy1.title,copy1.copies,copy1.rental duration,copy1.director,copy1.ac...