首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言】动态通讯

今天来改进一下静态版本的通讯录,让通讯录的内存空间可以随大小变化; 一、测试部分 测试部分的改动不大,主要的改动还是在函数实现的部分和声明部分; void menu() { printf...,改用malloc开辟空间 添加联系人的方式,当空间容量不够,使用realloc拓展空间 退出通讯录,需要使用free释放空间以及置空; //动态版本初始化通讯录 void InitContact...); pc->sz = 0; pc->Capacity = DEFAULT_SZ; } //查找函数 //加static修饰这个函数是为了这个函数只能在这个.c文件内用...MAX_SEX]; char tele[MAX_TELE]; char addr[MAX_ADDR]; }PeoInfo; //定义另外一个结构体,存放第一个结构体的数据记录通讯录中有效信息的个数...Capacity;//通讯录当前的容量 }Contact; //初始化通讯录 void InitContact(Contact* pc); //打印通讯

8810
您找到你想要的搜索结果了吗?
是的
没有找到

C语言】静态通讯

今天我们来实现一个静态的通讯录,该通讯录可以用来存储100个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址 提供方法: 添加联系人信息 删除指定联系人信息 查找指定联系人信息 修改指定联系人信息...sz = 0; memset(pc->data, 0, sizeof(pc->data)); } //查找函数 //加static修饰这个函数是为了这个函数只能在这个.c文件内用...MAX_SEX]; char tele[MAX_TELE]; char addr[MAX_ADDR]; }PeoInfo; //定义另外一个结构体,存放第一个结构体的数据记录通讯录中有效信息的个数...}Contact; //初始化通讯录 void InitContact(Contact* pc); //打印通讯录 void ShowContact(Contact...void SearchContact(Contact* pc); //修改通讯录的数据 void ModifyContact(Contact* pc); //排序通讯

6310

C语言通讯录实现(下)

1.进阶通讯录特点(下) ①基本的增删查改功能; ②通讯录的空间不固定,大小可以调整; ③通过C语言文件操作来储存通讯录信息到硬盘上; 2.实现步骤 基本实现步骤同上、中两篇 【[C语言]通讯录实现(中...) - CSDN App】http://t.csdnimg.cn/K5tqO 【【C语言通讯录实现(上) - CSDN App】http://t.csdnimg.cn/ZrZQk 此外还有文件加载、写入...pc->sz++; //写入一个sz通讯录联系人数量加一增加联系人函数一样 } printf("已保存的联系人加载成功啦~\n"); return...; } 3.完整C语言通讯录代码 (1)contact.h #pragma once //定义的的头文件contact.h #include #include #include...realloc等函数的用法,并熟悉了c语言文件的基本操作。

6410

C语言小程序:通讯

1.实现功能 本文将采用C语言来实现一个简单的通讯录,要求功能如下 //实现一个通讯录 //1.可以保存100个人的信息 //2.增加人的信息 //3.删除指定联系人的信息 //4.查找 //5.修改...功能设计 1.创建一个通讯录并进行初始化 首先我们要明确,一个通讯录里放的应该是什么样的信息,既然是通讯录,肯定得有名字电话号码,除此之外,也可以有性别,住址或者年龄,为了简单,我们就设计这些元素.我们用一个结构体来存放这些变量...,命名为PeopleInfo类型代表联系人的信息.接下来创建通讯录,通讯录里要有联系人的信息,同时还得记录通讯录里人的个数,这里我们也可以用一个结构体Contact来存放它们. typedef struct...这里要注意的是,创建通讯录变量一定是在主函数里创建的(在初始化函数里创建,函数结束后会销毁) ,同时,给结构体传参时,传值传址的效果是一样的,只是传址的话不用开辟空间,效率更高. 2.增加功能 void...函数,这里用它的好处就是,它的返回值这个比较函数的规则是一样的, 比较函数  int cmp_by_name(const void* p1, const void* p2) { return strcmp

9810

c语言实现通讯

前言 目录 前言 一、通讯录: 1.1 通讯录介绍: 1.2 通讯录功能介绍: 效果展示: 二、通讯录的实现: 2.1 通讯录类型的声明: 2.2 通讯录的初始化: 2.3 添加联系人函数: 2.4...查询指定联系人函数: 2.5 删除联系人函数 动态图解: 2.6 修改指定联系人函数 总结 总代码: 主测试区: 函数实现区: 函数声明区: 一、通讯录: 1.1 通讯录介绍: 本次通讯录采用...用一个参数 sz 记录当前联系人个数. 1.2 通讯录功能介绍: 1.添加联系人 2.删除联系人 3.修改联系人 4.查询联系人 5.展示通讯录 效果展示: 二、通讯录的实现: 2.1...: 通讯录 的大体框架已经建好,但是那只是通讯录的类型,我们应当利用类型创建变量并进行合理的初始化操作....定义 通讯录 变量: Contact cont;//创建通讯录cont 对 通讯录 进行合理的 初始化 操作.

94430

通讯录(C语言版)(静态通讯录)

引言: 1.菜单 通讯录也如同游戏,需要菜单来供使用者选择,因此要用do...while......(第一次看我文章的小伙伴可以看看我这两篇文章啦:1.扫雷游戏(有讲解)-CSDN博客 2.猜数字游戏(C语言实现)-CSDN博客) 2.功能总结 通讯录有很多功能,因此我们在做出它之前总结一下他的功能...,这些量定义在头文件中方便源文件的使用,也方便代码的统一修改,使之灵活(用define来说明,如:扫雷中的行列(rowcol)) 2.contact.c 包含重要的函数实现部分 3.test.c 包含菜单某些变量的定义...4.test.c函数的实现 #define _CRT_SECURE_NO_WARNINGS 1 #include "contact.h" /*静态通讯录*/ void menu()...#define _CRT_SECURE_NO_WARNINGS 1 #include "contact.h" /*静态通讯录*/ void menu() { //添加,删除,显示

10710

C语言通讯录功能的实现

C语言通讯录功能的实现 一、项目需求: 我们需要一个通讯录,可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址。...建立如下文件 contact.h (头文件,用来引入库函数,存放声明) contact.c (实现通讯录每个部分的功能) test.c (主函数,用于测试通讯录功能是否成功实现) 注意:.c文件需要使用自定义头文件的声明...//定义整本通讯录,能够存储100个人的信息通讯录所在位置 typedef struct Contact { inform date[1000]; int num; }Contact; 这里使用了结构体嵌套...这里只是一个简单的C语言项目,里面还有很多可以改进的地方。...通讯录结构体是否可以使用动态内存管理? 如何添加文件功能? 这些都是值得去进一步学习改进的地方。

6810

C语言实战项目】通讯

1.实现通讯录菜单 菜单部分的逻辑比较简单,就是利用C语言printf函数打印出这个菜单界面即可。...return 0; } 3.创建通讯录 创建通讯录成员的结构体应包括:姓名,年龄,性别,地址电话这5个信息. 因此我们创建PeoInfo结构体类型时应由四个字符数组以及一个整形来组成....如果有对memset()函数不了解的朋友可以先移步我的这篇博客,在后续我们还会使用到这个函数: 【C语言】memset()函数 https://blog.csdn.net/weixin_72357342...相关文章推荐 【C语言】malloc()函数详解(动态内存开辟函数) 【C语言】realloc()函数详解(动态内存开辟函数) 【C语言】calloc()函数详解(动态内存开辟函数) 【C语言】...free()函数详解(动态内存释放函数) 【C语言】memcpy()函数 【数据结构实战项目】C语言实现数据结构顺序表万字详解(附完整运行代码) 【实用编程技巧】不想改bug?

5910

C语言通讯录《静态内存版本》

枚举类型 初始化通讯录 增加通讯录的信息  打印通讯录的信息  删除通讯录的信息  查找通讯录的信息  修改指定通讯录人的信息 排查通讯录当中人员的信息 ✨模块化代码实现 test.c address_book.c...  传统方式编程→所有的函数均放在main.c里,若使用的模块比较多,则一个文件内会有很多的代码,不利于代码的组织管理,而且很影响编程者的思路。...传统方式编程:所有的函数均放在main.c里,若使用的模块比较多,则一个文件内会有很多的代码,不利于代码的组织管理,而且很影响编程者的思路。...---- 枚举类型 这里我们可以配合使用枚举类型常量来 switch case 语句当中进行使用。...有的人可能会有疑问,这里直接就可以把我们通讯录的结构体类型给初始化0,为什么还需要这个样子。因为这样的话,可以面对较为复杂的问题,之所以就是因为我们使用了memset()这个内存函数。

89250

PHP不如C语言

PHP只有多进程的方案,所以PHP里的全局变量对象不是共享的、数据结构也不能跨进程操作、Socket文件描述符不能共享等等。所以PHP有局限?...比如利用一个进程专门存数据结构对象,其他进程的数据操作全部投递到此进程来 多进程不需要锁 多进程可以使用共享内存的数据结构实现一些多线程的功能。...C++写出来的程序性能更好? 这完全是盲目的迷信,密集计算的程序C++确实是有优势的。而并发服务器核心是IO,并非大规模密集运算。C++从语言层面来看并没有什么优势。...这位同事还说PHP开发Server虽然比C++快了,但是追求性能的极致还是要用C++。我要告诉你效率高了究竟意义何在。开发一套好程序不是一 件容易的事情,需要程序员投入大量时间精力。...以上就是PHP不如C语言的详细内容,说的不对的地方还请海涵

2.1K00

语言模型处理时间序列

#TSer# 大家都知道预训练大型语言模型(LLMs)具有强大的表示学习能力少样本学习,但要利用LLM处理时间序列,需要解决两个关键问题: 如何将时间序列数据输入LLMs 如何在不破坏LLM固有特性的情况下对其进行微调使其能够适配时间序列任务...本文介绍一篇由北京大学阿里联合推出的工作,他们使用 LLM 实现了时间序列的分类预测任务。...TS for LLM:旨在将时间序列数据的特性引入到现有的语言模型中,使其能够适用于现有的语言模型,从而基于现有的语言模型处理时间序列的各类任务。这一路径无疑挑战更大,需要超越原始语言模型的能力。...研究者认为,这种现象产生的根本原因与语言模型预训练数据集的规模有关。在预训练阶段使用了越多的数据集,原型选择提示设计的角色就不再那么重要。...它可以激活 LLM 实现时间序列任务,同时保持其原始语言能力。在分类预测任务上的实验表明,使用 TEST,LLM 可以实现有竞争力的表现。

49220

NLP,辅助法官判案? | CCF C³

NLP相关问题更多探讨 围绕自然语言处理的机遇挑战,几位学界企业界的大佬展开了一场主题Panel。...除了“大”之外,Transformer自监督也是大模型的两个核心概念。更重要的是,Transformer自监督在工业界已有广泛应用,很多企业的线上系统虽然没有千亿参数,但参数量也达到亿级了。...最终,这个“全才”AI不仅可以看图写话、人类聊天,还可以把雅达利游戏玩得飞起,并且操控机械臂。...关于CCF C³ 以上的内容,全部出自CCF C3的第14期活动,主题为“自然语言处理”,由科大讯飞股份有限公司承办。...C3活动旨在联结企业CTO高级技术人才以及资深学者,每次以一个技术话题为核心,走进一家技术领先企业。

43120

C语言实现通讯录(超详细)

7.显示所有联系人信息  2.通讯录的实现 2.1创建两个源文件一个头文件 首先我们创建contact.ctest.c,contact.h,在头文件中包含了程序所需的各种头文件并且实现对各种函数的声明...这样做的目的是为了各个文件可以处理各自模块的功能,增强逻辑性代码的清晰度,使得可读性更高。  ...2.2搭建构架 1.菜单打印 首先在test.c这个源文件里面把菜单打印出来,直接使用printf函数打印出通讯录的功能即可。...Contact con; 结果调试以后发现datasz都是随机数,所以先对通讯录初始化。结构体传参的时候尽量传址,传值的话如果结构体过大会导致性能下降,在test.c中进行传址。...写一个Findbyname的名字查找函数,参数分别是pc这个通讯name,在通讯录里面查找sz次,使用strcmp函数比较,如果等于0,就是找到了这个联系人,则返回下标,否则返回-1.

17310

C语言】文件版&动态版通讯

今天我们再改进一下之前的通讯录,现在可以把通讯录的信息保存在文件当中; 一、测试部分 本次保存读取通讯录的内容都是以二进制的形式保存读取; 对于测试部分,改动的地方在于销毁通讯录之前,需要把通讯录的内容保存到文件中...,所以在销毁通讯录的函数前加了一个SaveContact函数保存通讯录;函数的具体实现看函数实现部分; #include "C_File Dynamic Contact.h" void menu...; #include "C_File Dynamic Contact.h" void CheakCapacity(Contact* pc); //加载文件的信息到通讯录...LoadContact(pc); } //查找函数 //加static修饰这个函数是为了这个函数只能在这个.c文件内用,出了这个文件就用不了 static int FindByName...sex[MAX_SEX]; char tele[MAX_TELE]; char addr[MAX_ADDR]; }PeoInfo; //定义另外一个结构体,存放第一个结构体的数据记录通讯录中有效信息的个数

6210

类似 golang 的 c 语言通讯录实现

简单介绍golang 在云计算场景下可以说是风头无量,而且 golang 的很多设计理念基于 c,大家可能想不到,c 也是可以实现面向对象编程的,我们可以参考 golang 中面向对象来实现一波。...注意:面向对象是一种编程思想或者说设计思想,并不是那个语言特有的,所以哪怕 c 也可以实现这种思想。通讯录整体分析通讯录首先就是需要设计结构体,通讯录的结构体就比较简单,首先就是通讯录的人和电话。...person *person}func(contacts *cts)person_delete(person **ppeople, person *ps){...}因此说,面向对象其实是一种思想,c 语言这样的面向过程的语言也是可以实现这样的开发...当然我们对于特定文件格式转化和解析,比方说 json yaml 可能涉及一些编译原理中正则表达式有限自动机的一些内容,这不在我们深究的范畴之内。然后就是加载文件。...,知道很多人会说,都什么年代了,还在做通讯录这种老掉牙的东西,这里主要是为了引入两个方向问题:1、使用向 c 语言其实也可以说实现面向对象,面向对象其实一个思想。

8610
领券