資料封裝和處理--c語言
c語言,面向過程,最核心的就是資料處理。有時我們需要處理的資料量很大,而且資料型別也不一,那有沒有一種方法可以讓這些資料被統一呼叫和處理呢?
有的,那就是封裝這些資料。將「資料處理」抽象出來,無非就是資料定義,資料的值,資料處理這三個東西,那麼我們可以定義乙個結構體,這個結構體包含這三個成員,如下:
typedef struct
_data;
如此一來,我們就可以直接寫乙個函式,函式引數中就是這個結構體型別的引數,如下:
void handledata1(_data *datatest)
這樣,不論處理什麼型別的資料,都可以由這個函式統一呼叫。接下來我們需要做的是,宣告並定義不同資料對應的處理函式,簡易如下:
void read_r(int a)
到此為止,我們已經完整封裝了乙個資料處理的方式或者模式。我們以後要做的,就是定義此型別結構體的變數,並對該變數進行賦值,以被呼叫只需。
下面貼出完整的**:
#include typedef enum
_datatype;
typedef struct
_data;
typedef struct
_datahandle;
void handledata(_datahandle *datatest)
void handledata1(_data *datatest)
void read_r(int a)
void write_w(int a)
void timeget_t(int a)
void timeset_t(int a)
void timedel_t(int a)
int main(void)
c語言資料封裝
最近寫了乙個linux 下tcp聊天室程式,剛開始時是寫在乙個檔案裡的版本,後來整理了思路寫在了不同的檔案裡,於是考慮程式間的呼叫關係,引數傳遞,介面之類的問題,發展到最後考慮的是資料完全的封裝。比如在test.c中定義 include stu.h struct stu struct stu stu...
C 和C 的資料封裝
在託管 中對非託管函式進行互操作,需要對引數和返回值進行資料傳遞的過程,此過程有clr 的封送處理服務 封送拆送器 完成。其工作內容如下 1.將資料從託管型別轉換為非託管型別,或從非託管型別轉換為託管型別 2.將經過型別轉換的資料從託管 記憶體複製到非託管記憶體,或從非託管記憶體複製到託管記憶體 3...
C語言 資料處理
在不使用scanf函式如何對輸入的數進行逆序輸出呢?首先要得到該數的位數,因為需要在順序輸出裡使用。如下 int getfigure int n return tmp 該數的位數 其次要清楚該處理什麼樣特點的數,對這個數的個位進行處理。例如 123 先對3進行處理,用這個數對10求餘得到3。但又如何...