當(dāng)前位置:首頁 > 公眾號精選 > C語言編程
[導(dǎo)讀]0.前言上次發(fā)了一個嵌入式的學(xué)習(xí)路線,很多粉絲問我各個階段的入門項目,其中第二階段的《基于socket聊天室》寫了4篇循序漸進(jìn)的文章,而第一階段的《電話號碼本管理》也非常想要。一口君必須安排。該項目,一口君同樣采用循序漸進(jìn)的步驟,一點點為大家講解這個小項目是如何從頭開始點點寫出來...

0.前言

上次發(fā)了一個嵌入式的學(xué)習(xí)路線,很多粉絲問我各個階段的入門項目,其中第二階段的《基于socket聊天室》寫了4篇循序漸進(jìn)的文章,而第一階段的《電話號碼本管理》也非常想要。

一口君必須安排。該項目,一口君同樣采用循序漸進(jìn)的步驟,一點點為大家講解這個小項目是如何從頭開始點點寫出來的。

1. 項目說明

運行環(huán)境:ubuntu16.04
語言???????:C語言

1) 功能說明

本項目功能包括簡易菜單、單鏈表、包括增刪改查等基本操作。鏈表插入采用尾插法。

2) 后續(xù)可在此基礎(chǔ)上增加功能:

信息保存,數(shù)據(jù)庫操作、CS/架構(gòu)遠(yuǎn)程管理等。

3) 實現(xiàn)說明

現(xiàn)在要創(chuàng)建新節(jié)點newstudent,并通過尾插法插入到該鏈表中

p?=?head;
PHONE?*newstudent?=?(PHONE?*)malloc(sizeof(PHONE));
newstudent->next?=?NULL;
while(head->next?!=?NULL)
{
?head?=?head->next;
}
這幾行代碼執(zhí)行完畢后,各指針結(jié)果如下:

?head->next?=?newstudent;
執(zhí)行完該行代碼后,各指針結(jié)果如下:

head?=?p;
執(zhí)行完該行代碼后,各指針結(jié)果如下:其他鏈表的操作,就不再過度敘述。

4) 代碼流程圖

2. 執(zhí)行結(jié)果

文件如下:

peng@ubuntu:/mnt/hgfs/code/test$?tree?.
.
├──?list.c
├──?main.c
└──?phone.h

0?directories,?3?files

編譯運行

peng@ubuntu:/mnt/hgfs/code/test$?gcc?*.c
peng@ubuntu:/mnt/hgfs/code/test$?./a.out?

程序截圖

登錄界面:進(jìn)入電話管理主界面,并添加一個電話條目:顯示添加的電話信息:

3. 代碼閱讀方法

為了方便讀者閱讀代碼,一口君給這個小項目創(chuàng)建了git工程,這樣大家可以很方便的追述一口君編寫代碼的記錄,便于學(xué)習(xí)。

同時git是現(xiàn)在軟件開發(fā)必須掌握的一門版本管理技術(shù)。

1. 安裝git

然后需要設(shè)置一下郵箱和用戶名

git?config?--global?user.email?21689991@qq.com
git?config?--global?user.name?yikoupeng
修改默認(rèn)提交commit的打開軟件為vim

git?config?--global?core.editor?"vim"

2. 顯示歷史修改記錄

輸入以下命令,顯示所有commit信息。

git?log

3. 如何讓代碼更新到最開始的那個狀態(tài)?

比如我們想切換到最開始的那個版本節(jié)點

git?checkout?61b662ad92e8115f012f6247046eb4756a532a15

大家可以看到,這個是我最初的版本,只有1個main.c文件,這個代碼只有最簡單的菜單功能,并且字體也都沒有設(shè)置顏色。

要想切換到最新的版本,可以執(zhí)行以下命令

git?checkout?b3004eef8a1c7828095af1a87181d58a7230e91e
4. 如何提交一個commit?

比如我們在各個文件增加一個文件頭下面命令可以查看到修改過的文件內(nèi)容

git?diff
通過下面命令提交新版本
然后輸入以下命令提交commit

git?commit
然后退彈出下面界面,我們可以用vim操作命令來提交這個commit的信息, 紅框內(nèi)是我輸入的信息用git log查看,可以看到,我們提交的信息已經(jīng)更新了。

注意 這樣提交的代碼是放置到了本地倉庫,還沒有上傳到服務(wù)器, 用于自己學(xué)習(xí)足夠了,還可以上傳到服務(wù)器, 這樣我們就可以和眾多開發(fā)者同步維護(hù)這套代碼, 如果運氣好,該項目吸引到了風(fēng)投, 那不僅可以揚(yáng)名立萬還可以早日財務(wù)自由。在此我們要非常感謝linus, 正是這位大神開發(fā)了git,才實現(xiàn) 了同時和全球上百萬的開發(fā)者 高效維護(hù)Linux內(nèi)核, 而git也被眾多軟件公司作為版本管理的首選。

版權(quán)申明:內(nèi)容來源網(wǎng)絡(luò),版權(quán)歸原創(chuàng)者所有。除非無法確認(rèn),我們都會標(biāo)明作者及出處,如有侵權(quán)煩請告知,我們會立即刪除并表示歉意。謝謝!


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉
關(guān)閉