首页 > 代码库 > c语言项目开发流程一部曲

c语言项目开发流程一部曲

一.c项目开发总体分如下图所示

技术分享

二.对每一步的解析

1.需求文档分析,本例以电子词典作为例子

列出每一个需求以及每一个需求的每一个特点,将其归纳 为一张表。

技术分享

 

2.设计数据结构

设计数据结构,也就是确定抽象数据类型,数据存放的方式,先想出多个方案,然后比较各个方案的优劣

技术分享

 1 /* 2 方案1 3 使用三维数组,110000为单词个数,2位每个单词对应2行,100表示每一行可存储的字符数, 4 由于栈空间最大1M,所以这种方式不行,而且很消耗cpu资源 5 word[i][2][100]代表一个单词和解释 6 */ 7 char word[110000][2][100];// 8 /* 9 方案210 使用一个结构代表一个单词,key存储单词,trans存储11 所有单词存储在malloc分配的动态数组中,由于每个单词长度不一样,每个单词的解释也不一样,12 所以key的长度太小不能满足需求,太大又造成存储空间的浪费13 */14 struct WORD{15     char key[100];//单词16     char trans[100];//单词对应的解释17 };18 /*19 方案三20 使用结构体,但是成员为指针,根据单词和解释的实际大小分配内存,内存占用小21 缺点:解释不够详细,因为一个单词对应多个解释22 */23 struct WORD{24     char *key;//单词指针,指向一个malloc分配的内存25     char *trans;//解释指针26 };27 /*28 方案四29 使用结构体30 */31 struct WORD{32     char *key;//单词指针,指向一个malloc分配的内存33     int count_trans;//每个单词对应的解释数量34     char **trans;//存放解释的字符指针数组35 };

技术分享

3.根据需求绘制程序整体运行流程图

技术分享

4.分析数据类型的存储结构,如下图

技术分享

5.定义常用变量

技术分享

 1 /*********定义常用全局变量*****************/ 2 /* 3 给结构体类型起一个新名字:WORD 4 */ 5 typedef struct WORD  SWORD; 6 /*********结构体指针,指向词库结构体数组******/ 7 SWORD * DICT; 8 /***********文本词库文件名*********************/ 9 char *dicttxtname = "dict.txt";10 /***********二进制词库文件名*********************/11 char *dictbitname = "dict.dat";12 /************词库数量,结构体数组长度***************/13 int length;

技术分享


c语言项目开发流程一部曲