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

发表于:2017-5-24 10:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:lovejobs    来源:博客园精华区

  一.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 方案2
10 使用一个结构代表一个单词,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;
  6.由于时间关系和随笔大小有限,剩下的五步骤见后期随笔
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号