C 語言隱藏結構體細節

2021-10-09 13:32:01 字數 1386 閱讀 9336

在標頭檔案的宣告結構體的型別和對結構體的操作方法

#ifndef __my_include_h__

#define __my_include_h__

#include

#include

struct thread;

char

get_thread_flag

(struct thread * thread)

;char

get_thread_flags

(struct thread * thread)

;char

*get_thread_name

(struct thread * thread)

;void

set_thread_name

(struct thread * thread,

char

*name)

;struct thread *

new_thread

(void);

#endif

源程式中定義結構體的型別以及實現對結構體操作的方法

#include

#include

#include

"my_include.h"

struct thread

;char

get_thread_flag

(struct thread * thread)

char

*get_thread_name

(struct thread * thread)

void

set_thread_name

(struct thread * thread,

char

*name)

char

get_thread_flags

(struct thread * thread)

struct thread *

new_thread

(void

)else

}

其它檔案不需要知道結構的具體細節,只需要呼叫提供的操作結構體的方法即可

#include

#include

#include

"my_include.h"

intmain

(int argc,

char

*ar**)

gcc.exe test.c include.c -o test
hello world

thread name is: main thread

C語言結構體

1.1.1 結構概念 1 結構存在的意義 存在是合理的,許多事物的存在是在不斷解決問題引入的,當然有更好的方法出現時改變也是合理的。在實際問題中,一組資料往往具有不同的資料型別。例如,在學生登記表中,姓名應為字元型,學號可為整型或字元型,年齡應為整型,性別應為字元型,成績可為整型或實型。顯然不能用乙...

C語言 結構體

宣告乙個結構體型別 struct 結構體名 成員表列 定義結構體變數的方法 1 先宣告結構體型別再定義變數名。在定義了結構體變數後,系統會為之分配記憶體單元.例如 struct student student1,student2 2 在宣告型別的同時定義變數,例如 struct 結構體名 成員表列 ...

c語言 結構體

1 定義結構體 c語言允許使用者自己建立不同型別資料組成的組合型的資料結構 struct 結構體名 1 結構體的型別不是只有一種,可以根據需要設計許多種,如struct student struct worker等 2 結構體的成員可以是另一結構體的成員,注意的是引用此成員的方式 2 定義結構體變數...