通訊錄簡單實現

2021-08-20 04:49:54 字數 1595 閱讀 9808

姓名、性別、年齡、**、住址

利用構建乙個結構體來儲存資訊,結構體的大小根據所需來自行規定

typedef struct add

add;

typedef struct addnode

addnode;

關於資訊儲存的方法,最簡單的兩種辦法就是鍊錶跟順序表的結構,簡單說呢就是兩種不同的對資料或者說結構體的應用方法,另外兩種實行方法各有優點此處以煉表為例。

每乙個人的資訊通過給指標分配相應大小的空間來進行操作,這個指標呢,稱其為結點,乙個通訊錄中相當於有很多指標即結點構成,而結點可以看作是乙個乙個的聯絡人。而結點本身是乙個指標,指標所指的區域儲存兩個指標乙個指向資料,即結構體部分,另乙個指向下乙個結點,

問題:

1如何給指標分配空間?分配的空間用來幹什麼?

malloc函式 用來聯絡人儲存資訊 。

2對於指標的應用,建立哪種型別的指標,怎樣利用指標訪問聯絡人資訊,能否對其修改,怎樣輸入資訊;

建立addnode *型別指標 eg:訪問姓名 p(假設p是建立的指標名) ->_data->name;訪問下乙個結點 p->_next;

可以修改,但須注意賦值時型別相同。字串%s+scanf.

當這一步實現好之後記憶體中就會有許許多多這樣的的指標存在

addnode * ——->add *_data———->add結構體

——–>_next———>下乙個addnode 型別的結點。即 「聯絡人」

在資訊的結構體建立好後,通過函式來根據使用者需求對結構體結點建立、增加、刪除、修改、排序等操作

新增聯絡人資訊

刪除指定聯絡人資訊

查詢指定聯絡人資訊

修改指定聯絡人資訊

顯示所有聯絡人資訊

清空所有聯絡人

以名字排序所有聯絡人

不限定聯絡人數(動態)

add  *buynode ();//建立鍊錶結點並返回為乙個指標

void initadd(addnode *phead);//初始化

void inertadd(addnode *phead);//新增聯絡人資訊

void findadd(addnode *phead);//查詢聯絡人資訊

void changadd(addnode *phead);//修改聯絡人資訊

void printadd(addnode *phead);//顯示所有聯絡人資訊

void destroyadd(addnode *phead);//清空所有聯絡人

void namesortadd(addnode *phead);//按姓名排序

了解switch case、typedef、巨集、malloc、scanf、sizeof等基本函式以及關鍵字的應用。

熟練理解結構體。

能對指標進行基礎操作

了解函式的基礎操作

通訊錄的簡單實現!!!

1.因為程式 較多,為了避免程式過於繁雜,將程式分成了兩個.c檔案 contact.c 和 test.c 和乙個contact h檔案。2.cantact.h檔案內容主要包括函式名和結構體的定義。3.contact.c檔案主要用於定義函式的實現,而test.c則主要起到測試的作用1.contact ...

實現簡單功能的通訊錄

1 定義聯絡人類addresscontact。例項變數 姓名 性別 號碼 住址 分組名稱。方法 自定義初始化方法 姓名 號碼 顯示聯絡人資訊 2 在main.m中定義可變陣列,管理所有聯絡人。可以新增新聯絡人物件,如果姓名或 號碼為空,列印新增失敗。3 獲取某個分組下的所有聯絡人。4 根據 號碼搜尋...

c 實現簡單的通訊錄

1 程式中運用到兩個類,乙個是person類,另乙個是list類。前者儲存使用者資訊,後者主要用於操作,如增刪改查等。但由於本程式中沒有涉及到太複雜的功能,使用者資訊可以由乙個簡單的結構體表示,但是為了以後拓展方便,和達到學習運算子過載的目的,還是使用了類。3 setout 方法設定字元左對齊,便於...