自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從0寫一個(gè)《電話號(hào)碼管理系統(tǒng)》的C入門項(xiàng)目【適合初學(xué)者】

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

[[422033]]

0.前言

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

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

1. 項(xiàng)目說明

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

1) 功能說明

本項(xiàng)目功能包括簡(jiǎn)易菜單、單鏈表、包括增刪改查等基本操作。鏈表插入采用尾插法。

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

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

3) 實(shí)現(xiàn)說明

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

  1. p = head; 
  2. PHONE *newstudent = (PHONE *)malloc(sizeof(PHONE)); 
  3. newstudent->next = NULL
  4. while(head->next != NULL
  5.  head = head->next

這幾行代碼執(zhí)行完畢后,各指針結(jié)果如下:

  1. head->next = newstudent; 

執(zhí)行完該行代碼后,各指針結(jié)果如下:

  1. head = p; 

執(zhí)行完該行代碼后,各指針結(jié)果如下:

其他鏈表的操作,就不再過度敘述。

4) 代碼流程圖

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

文件如下:

  1. peng@ubuntu:/mnt/hgfs/code/test$ tree . 
  2. ├── list.c 
  3. ├── main.c 
  4. └── phone.h 
  5.  
  6. 0 directories, 3 files 

編譯運(yùn)行

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

程序截圖

登錄界面:

進(jìn)入電話管理主界面,并添加一個(gè)電話條目:

顯示添加的電話信息:

3. 代碼閱讀方法

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

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

1. 安裝git

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

  1. git config --global user.email 21689991@qq.com 
  2. git config --global user.name yikoupeng 

修改默認(rèn)提交commit的打開軟件為vim

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

2. 顯示歷史修改記錄

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

  1. git log 

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

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

  1. git checkout 61b662ad92e8115f012f6247046eb4756a532a15 

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

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

  1. git checkout b3004eef8a1c7828095af1a87181d58a7230e91e 

4. 如何提交一個(gè)commit?

比如我們?cè)诟鱾€(gè)文件增加一個(gè)文件頭

下面命令可以查看到修改過的文件內(nèi)容

  1. git diff 

通過下面命令提交新版本

然后輸入以下命令提交commit

  1. git commit 

然后退彈出下面界面,我們可以用vim操作命令來提交這個(gè)commit的信息, 紅框內(nèi)是我輸入的信息

用git log查看,可以看到,我們提交的信息已經(jīng)更新了。

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

本文轉(zhuǎn)載自微信公眾號(hào)「一口Linux 」

 

責(zé)任編輯:姜華 來源: 一口Linux
相關(guān)推薦

2023-02-27 09:49:31

Java開發(fā)工具

2015-09-28 11:15:03

java初學(xué)者建議

2011-08-16 14:14:22

MySQL數(shù)據(jù)庫(kù)初學(xué)者

2021-05-10 08:50:32

網(wǎng)絡(luò)管理網(wǎng)絡(luò)網(wǎng)絡(luò)性能

2024-08-20 00:00:08

2020-03-01 14:57:47

Python編程函數(shù)

2011-08-01 16:10:00

SQL Server

2011-08-17 12:03:36

Objective-C

2011-04-08 15:07:40

C++

2009-06-15 13:17:37

Java初學(xué)者Java概念

2021-12-09 05:58:51

編程語言開發(fā)代碼

2023-10-25 16:16:27

2020-05-10 16:59:56

Python裝飾器開發(fā)

2014-03-12 10:11:57

Python設(shè)計(jì)模式

2011-08-10 19:16:50

Objective-C變量

2020-08-16 13:10:46

TensorFlow深度學(xué)習(xí)數(shù)據(jù)集

2011-08-24 17:05:01

Lua

2021-08-05 14:40:45

操作系統(tǒng)UNIXLINUX

2025-02-10 07:30:00

malloc內(nèi)存分配器內(nèi)存
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)