首页
学习
活动
专区
工具
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); //打印通讯

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

    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); //排序通讯

    7910

    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语言文件的基本操作。

    8410

    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

    15410

    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 对 通讯录 进行合理的 初始化 操作.

    98830

    通讯录(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() { //添加,删除,显示

    13510

    前端JS发起的请求暂停

    在讨论前端JS发起的请求是否暂停时,需要明确两个概念:什么状态可以被认为是“暂停”?以及什么是JS发起的请求? 如何定义暂停? 暂停指的是临时停止一个已经开始但尚未完成的过程。...考虑到使用场景——由JS发起的请求。因此,可以认为这里的问题指的是在JS运行时发起的XMLHttpRequest或fetch请求。由于请求已经发出,问题自然变成响应是否可以暂停。...我们都知道,上传大文件分片下载大文件本质上是定义分片顺序,按顺序请求,可以通过中断记录中断点来实现暂停恢复。然而,单个请求并没有这样的环境。...使用JS实现“假暂停”机制 虽然我们无法真正实现暂停请求,但我们可以模拟一个假暂停功能。在前端业务场景中,数据在接收到后不会立即显示在客户端。前端开发人员需要先处理这些数据,然后再渲染到界面上。...resume 方法控制暂停恢复。

    9510

    C语言通讯录功能的实现

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

    11210

    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?

    10910

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

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

    92150

    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 可以实现有竞争力的表现。

    76320

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

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

    46420

    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.

    42910

    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; //定义另外一个结构体,存放第一个结构体的数据记录通讯录中有效信息的个数

    8910
    领券