c语言程序翻译软件,C语言基础 (15) 翻译软件
课程回顾
2作业讲解
3 指针复习
(1) 返回栈区地址
(错
(对
(错,p一直是空的,同时引起堆区空间没释放
( tmp指针给堆空间赋值,最后堆区没有释放
04 指针复习_2
(注意:strcpy的第一个参数虽然没有* 但是实际操作的是指针所指向的内存,即:堆区的内存
案例:
(p没有指向空间,所以段错误
5 二级指针做形参
07_快译通案例:单词的存储
08_快译通案例:单词遍历
09_快译通案例:释放堆区空间
10_快译通案例:单词查询
#include
#include
#include
#define MAX 3
struct dict
{
char *key;
char *content;
};
void get_dict(struct dict **tmp)
{
//在堆区分配MAX个结构体空间
*tmp = (struct dict *)malloc(MAX * sizeof(struct dict));
if (*tmp == NULL)
{
return;
}
//需要给每个结构体设置内容
//第0个结构体
//放第0个单词
(*tmp)[0].key = (char *)malloc(strlen("a") + 1);
strcpy((*tmp)[0].key, "a");
//放第0个单词的解析
(*(*tmp + 0)).content = (char *)malloc(strlen("art.字母a") + 1);
//第1个结构体
(*tmp)[1].key = (char *)malloc(strlen("a.m.") + 1);
strcpy((*tmp)[1].key, "a.m.");
//放第1个单词的解析
(*(*tmp + 1)).content = (char *)malloc(strlen("a啊实打解析实的字母a") + 1);
//第1个结构体
(*tmp)[2].key = (char *)malloc(strlen("abandon") + 1);
strcpy((*tmp)[2].key, "abandon");
//放第2个单词的解析
(*(*tmp + 2)).content = (char *)malloc(strlen("抛弃、放弃") + 1);
}
void print_dict(struct dict *tmp)
{
int i = 0;
for (i = 0; i < MAX; i++)
{
printf("[%s]%s\n", tmp[i].key, tmp[i].content);
}
}
void free_dict(struct dict *tmp)
{
//先释放成员变量
int i = 0;
for (i = 0; i < MAX; i++)
{
if (tmp[i].key != NULL)
{
free(tmp[i].key);
tmp[i].key = NULL;
}
if (tmp[i].content != NULL)
{
free(tmp[i].content);
tmp[i].content = NULL;
}
}
//再释放结构体指针变量
free(tmp);
tmp = NULL;
}
int search_dict(struct dict *tmp, char *key, char *content)
{
int i = 0;
for (i = 0; i < MAX; i++)
{
if (strcmp(tmp[i].key, key) == 0)
{
strcpy(content, tmp[i].content);
return 1;
}
}
return 0;
}
int main(int argc, char const *argv[])
{
struct dict *p = NULL;
//1、给p分配空间,分配完空间后,需要设置内容
get_dict(&p);
//2、遍历单词
// print_dict(p);
//查询功能
char key[1024]; //单词
char content[1024]; //单词解析
while (1)
{
printf("请输入需要查询单词");
scanf("%s", key);
if (strcmp(key, "break") == 0)
{
break;
}
//如果有返回真,没有返回假
int flag = search_dict(p, key, content);
if (flag == 0)
{
printf("没有此单词: %s\n", key);
}
else
{
printf("[%s]的解释为: %s\n", key, content);
}
}
//3、释放空间
free_dict(p);
return 0;
}
11_快译通案例:代码引导
12_快译通案例:代码编译运行
c语言程序翻译软件,C语言基础 (15) 翻译软件相关推荐
- c语言 程序循环,C语言程序设计-循环例子
<C语言程序设计-循环例子>由会员分享,可在线阅读,更多相关<C语言程序设计-循环例子(28页珍藏版)>请在人人文库网上搜索. 1.C 语言程序设计基础篇,第 7 章 简单程序 ...
- 最初编写的c语言程序称为,C语言程序设计复习参考答案
<C语言程序设计复习参考答案>由会员分享,可在线阅读,更多相关<C语言程序设计复习参考答案(46页珍藏版)>请在人人文库网上搜索. 1.随堂练习12]1. 下面哪些标识符属于合 ...
- 好听的歌曲单片机c语言程序,单片机C语言程序举例(三)
原标题:单片机C语言程序举例(三) 14.音乐播放 //此程序在硬件上调试通过 //本程序的晶振采用11.0592M #include sbit speaker=P1^2; unsigned char ...
- c语言程序教,C语言程序设计教学方法
摘 要:C语言程序设计课程的教学实践,提出了教学方法. 关键词:C语言 教学方法 探讨 1 明确学习目的,调动学习积极性 在讲述C语言概述时,着重强调计算机语言学习的重要性和必要性.首先,C语言是其它 ...
- 步进电机循环脉冲c语言程序,基于C语言的步进电机调速.doc
课 程 设 计 (论文) 题目 基于C语言的步进电机调速 目 录 0. 前言3 1.基本理论4 2. 方案设计4 2.1 步进电机5 2.2 8255芯片5 3. 硬件电路的工作原理5 3.1 步进电 ...
- 简单说明c语言程序步骤,C语言的入门简介和三个简单的C语言程序详细说明
学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好.Keil软件是目前最流行开发80C51系列单片机的软件,Keil提供了包括C编译器.宏汇编.连接器.库管理和一个功能强大的仿真调试器等在 ...
- c语言程序前言,C语言 程序代码编写规范前言
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一个好的程序编写规范是编写高质量程序的保证.清晰.规范的源程序不仅仅是方便阅读,更重要的是能够便于检查错误,提高调试效率,从而最终保证软件的质量和可维护性 ...
- c语言程序基本设计,C语言程序的设计基本6.ppt
C语言程序的设计基本6 第六章 本章要点 建立循环程序设计的基本概念和逻辑思维 掌握循环程序设计的方法 6.1 if-goto 语句循环 一般形式: goto 标号: 标号:语句 其中:标号用标识符表 ...
- c语言 程序结集,c语言(结体程序设计).doc
c语言(结体程序设计) C语言程序设计实验报告 实验七.结构体程序设计 [实验目的] (1)掌握结构体类型的概念.定义和使用: (2)掌握结构体数组.结构体指针的定义和使用: [实验内容及步骤] 1. ...
- 情人节c语言程序,情人节c语言代码.doc
情人节c语言代码 篇一:一些简单的C语言程序代码 由键盘任意输入1个4位数整数,分别输出其中的个位.十位.百位.千位. /* expe 3-10 */ #include #include void m ...
最新文章
- TIOBE 9 月编程语言排行榜发布,C++ 增速最快,C++20 的功劳?
- 电商直播团队,管理好团队就成功了一半
- VMware(VMDebugger)导致VS2010启动慢的解决办法
- Java——多线程(死锁)
- linux 管道文件上机总结,[转载]LINUX 管道 fifo 等总结
- Python 和 egg 文件
- python 判断文件夹是否存在 否则创建_10行Python代码自动清理电脑内重复文件,解放双手!...
- Atitit 利用前端cache indexdb localStorage 缓存提升性能优化attilax总结 1.1. indexdb 更加强大点,但是结果测试,api比较繁琐 使用叫麻烦些	1
- php英语参考文献,英文参考文献
- DICOM的窗宽和窗位,斜率和截距
- 自己动手写CPU(8)——简单算术操作指令的实现
- 后端速成JavaScript
- 用pxe给服务器装系统,使用pxe方式安装系统
- python excel数据处理教程pdf_python对excel操作详解.pdf
- 电子邮件注册网站是什么,163电子邮件注册流程详解
- ethz_aslam_cv2(一) 简介
- HCIP第十三天笔记
- 公众互助云的典范:Testin开放众包自动化云测试服务
- 优化神经网络训练的17种方法
- 文档翻译-批量翻译文档的软件哪些?
热门文章
- JAVA仿QQ登录界面
- 流放者柯南自建服务器 linux,流放者柯南自建服务器教程 怎么创建自己的服务器_游侠网...
- 奇了怪?OPPO怎么不用流量明星了?
- keil 5支持 LPC1114FBD48/302,1
- 青海省计算机考试准考证2022
- Postman异步请求
- php ajax返回值会打印出来,ajax返回值有php字符
- 网心云容器魔方在iStoreOS下的多开
- CATIA转的STP打开什么都没有_CATIA教程之常见去参方法
- 2019江西高中计算机学业水平考试,南昌市2019年上半年普通高中学业水平考试本月21日开考...