一口Linux
认证:优质创作者
所在专题目录 查看专题
C语言:static的一个很实用的小技巧
C语言static关键词详解
c语言实现MD5摘要认证,如此简单
C语言实现MD5加密,竟如此简单!
从0写一个电话号码管理的C入门项目【适合初学者】
Linux字节对齐的那些事
作者动态 更多
怎么编译OpenWrt镜像?-基于Widora开发板
1天前
数据结构与算法概述
1天前
揭秘电路中的英文缩写,轻松掌握专业术语
1星期前
一个不错的软件版本命名规范!
1星期前
C语言中计算函数执行时间的小技巧
2星期前

从0写一个电话号码管理的C入门项目【适合初学者】

0.前言

上次发了一个嵌入式的学习路线,很多粉丝问我各个阶段的入门项目,其中第二阶段的《基于socket聊天室》写了4篇循序渐进的文章,而第一阶段的《电话号码本管理》也非常想要。

一口君必须安排。该项目,一口君同样采用循序渐进的步骤,一点点为大家讲解这个小项目是如何从头开始点点写出来的。

1. 项目说明

运行环境:ubuntu16.04语言       :C语言

1) 功能说明

本项目功能包括简易菜单、单链表、包括增删改查等基本操作。 链表插入采用尾插法。

2) 后续可在此基础上增加功能:

信息保存,数据库操作、CS/架构远程管理等。

3) 实现说明

现在要创建新节点newstudent,并通过尾插法插入到该链表中

p = head;PHONE *newstudent = (PHONE *)malloc(sizeof(PHONE));newstudent->next = NULL;while(head->next != NULL){ head = head->next;}

这几行代码执行完毕后,各指针结果如下:

 head->next = newstudent;

执行完该行代码后,各指针结果如下:

head = p;

执行完该行代码后,各指针结果如下:

其他链表的操作,就不再过度叙述。

4) 代码流程图

2. 执行结果

文件如下:

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 

程序截图

登录界面:

进入电话管理主界面,并添加一个电话条目:

显示添加的电话信息:

3. 代码阅读方法

为了方便读者阅读代码,一口君给这个小项目创建了git工程,这样大家可以很方便的追述一口君编写代码的记录,便于学习。

同时git是现在软件开发必须掌握的一门版本管理技术。

1. 安装git

然后需要设置一下邮箱和用户名

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

修改默认提交commit的打开软件为vim

git config --global core.editor "vim"

2. 显示历史修改记录

输入以下命令,显示所有commit信息。

git log

3. 如何让代码更新到最开始的那个状态?

比如我们想切换到最开始的那个版本节点

git checkout 61b662ad92e8115f012f6247046eb4756a532a15

大家可以看到,这个是我最初的版本,只有1个main.c文件,这个代码只有最简单的菜单功能,并且字体也都没有设置颜色。

要想切换到最新的版本,可以执行以下命令

git checkout b3004eef8a1c7828095af1a87181d58a7230e91e

4. 如何提交一个commit?

比如我们在各个文件增加一个文件头

下面命令可以查看到修改过的文件内容

git diff

通过下面命令提交新版本

然后输入以下命令提交commit

git commit

然后退弹出下面界面,我们可以用vim操作命令来提交这个commit的信息, 红框内是我输入的信息

用git log查看,可以看到,我们提交的信息已经更新了。

注意 这样提交的代码是放置到了本地仓库,还没有上传到服务器, 用于自己学习足够了,还可以上传到服务器, 这样我们就可以和众多开发者同步维护这套代码, 如果运气好,该项目吸引到了风投, 那不仅可以扬名立万还可以早日财务自由。 在此我们要非常感谢linus, 正是这位大神开发了git,才实现 了同时和全球上百万的开发者 高效维护Linux内核, 而git也被众多软件公司作为版本管理的首选。

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
本篇所含全部资料,点击此处留下邮箱我会发给你
资料明细:电话号码管理.rar
觉得内容不错的朋友,别忘了一键三连哦!
赞 2
收藏 1
关注 176
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧