![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C进阶
文章平均质量分 83
不爱喝水的大脸猫
这个作者很懒,什么都没留下…
展开
-
寻找单身狗
题目:找单身狗一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。编写一个函数找出这两个只出现一次的数字。分组:只出现1次的两个数,不能在同一个组中,那么分组的依据是什么呢?怎么分?两个相同数字异或的结果为0(相同为0,不同为1),异或支持交换律,因为这组数中只有两个数字只出现一次,那么这组数全部异或的结果就是这两个数字异或的结果,找到这个结果的二进制中为1的那一位,说明这两个数字的该二进制位不同,那么就有了分组的依据,数组中,该二进制位为1的数字分在一组,该二进制位为0的数字分在另一组。原创 2021-10-25 23:05:51 · 65 阅读 · 0 评论 -
文件版通讯录
文章目录1.程序退出时,将通讯录信息写入文件2.程序运行起来,首先从文件中加载联系人信息 我们之前的通讯录在程序关闭后,联系人信息就销毁了,那我们如果想存储联系人信息该怎么办?我们学习完文件操作之后,知道文件是保存在持久化存储设备(硬盘、U盘、光盘…)上的一段数据。那么我们可以在程序退出之前,把联系人信息存储到文件中,等我们再次运行程序时,需要先把联系人信息从文件中加载到程序中。针对动态版的通讯录,我们来做一些改进。1.程序退出时,将通讯录信息写入文件2.程序运行起来,首先从文件中加载联系人信息原创 2021-10-25 22:52:50 · 544 阅读 · 0 评论 -
程序环境和预处理
文章目录程序的翻译环境和执行环境翻译环境执行环境程序的翻译环境和执行环境翻译环境执行环境库函数在链接库中原创 2021-10-24 23:34:53 · 129 阅读 · 0 评论 -
C语言文件操作
文章目录什么是文件?程序文件数据文件文件名文件的打开和关闭文件指针文件的打开和关闭标准输入流、标准输出流文件读写文件的顺序读写文本文件读写二进制文件读写对比三组函数文件的随机读写本章我们来学习一下c语言的文件操作。什么是文件?文件是保存在持久化存储设备(硬盘、U盘、光盘…)上的一段数据。在程序设计中,我们一般谈的文件有两种:程序文件、数据文件。程序文件包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)。数据文件文件的内容原创 2021-10-18 16:05:13 · 278 阅读 · 1 评论 -
动态内存管理
栈区:局部变量、函数形参堆区:动态内存分配(malloc、calloc、realloc、free)静态区:静态变量、全局变量void *malloc( size_t size );头文件:<stdlib.h> or <malloc.h>函数功能:向内存申请一块连续可用的空间,并返回指向这块空间的指针。在堆区申请size个字节的空间返回类型是void*如果开辟成功,则返回一个指向开辟好空间的指针。如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定原创 2021-10-16 22:14:34 · 131 阅读 · 0 评论 -
动态版通讯录
文章目录与静态版的区别1.通讯录结构体声明2.初始化函数3.增加联系人4.释放动态内存空间完整代码 在“静态版通讯录”一章中,我们实现了一个静态版本的通讯录,所谓静态版就是通讯录中数组存储联系人的大小是固定的,如果我们并不需要有那么多的联系人,就造成内存的严重浪费,所以在本章,我们来实现一个动态版的通讯录,能存储联系人的个数可以根据需要改变。与静态版的区别1.通讯录结构体声明在静态版中,我们使用#define定义了一个标识符常量MAX表示存储联系人的个数。在动态版通讯录中,通讯录存储联系人的个数原创 2021-10-09 22:24:47 · 70 阅读 · 0 评论 -
静态版通讯录
本章实现一个静态版的通讯录。原创 2021-10-09 00:00:45 · 245 阅读 · 2 评论 -
结构体,枚举,联合
文章目录结构体结构体内存对齐结构体传参联合体结构体先介绍C语言内置类型复杂对象怎么描述?结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。struct tag{ member-list;}variable-list;struct - 结构体关键字tag - 结构体标签member-list - 结构体成员variable-list - 结构体变量结构体的类型是 struct tag特殊的声明在声明结构的时候,可以不完全的声明//匿原创 2021-10-08 13:50:41 · 350 阅读 · 0 评论 -
字符函数、字符串函数和内存函数
文章目录求字符串长度strlen函数模拟实现strlen函数字符串拷贝strcpy函数模拟实现strcpy函数本章详细讲解字符函数、字符串函数以及内存函数的使用,并模拟实现库函数。C语言中对字符和字符串的处理很频繁,但是C语言本身是没有字符串类型的,字符串通常放在 常量字符串 中或者 字符数组 中。 字符串常量适用于那些对它不做修改的字符串函数。下面我们来详细学习字符串函数。求字符串长度strlen函数首先我们来看一下strlen函数的声明size_t strlen ( const char原创 2021-09-22 23:32:12 · 171 阅读 · 0 评论 -
空类型指针、空指针、野指针
文章目录空类型指针-void*空指针-NULL野指针造成野指针的原因1.指针未初始化2.指针越界访问3.指针指向的空间已经释放避免野指针本章介绍C语言中的空类型指针、空指针、野指针。空类型指针-void*void是空类型,void*是空类型指针,又叫万能指针,就是该指针能接收任意类型的指针,可以指向任何类型对象,所以不能对空类型指针进行解引用,必须强制类型转换成相应的指针类型,才能进行解引用操作。空指针类型:作为函数形参类型,可以接收任意类型的指针;作为函数返回值类型,在函数外面,将其强制类型原创 2021-09-22 22:51:39 · 641 阅读 · 0 评论 -
C指针专项练习
文章目录数组名的意义题1题2题3题4题5本章主要讲解关于指针的经典练习。数组名的意义首先回顾一下关于数组名的相关知识:1.sizeof(数组名):这里数组名表示整个数组;2.&数组名:这里数组名表示整个数组;3.其他情况下,数组名都表示数组首元素地址再回顾一下strlen和sizeof操作符:strlen库函数:求字符串长度sizeof操作符:求变量或者类型创建的变量所占空间的大小(单位是字节)题1//代码1int main(){ //一维数组 int a[] = {原创 2021-09-13 23:09:56 · 428 阅读 · 0 评论 -
C进阶-深度剖析数据在内存中的存储
文章目录数据类型详细介绍整形在内存中的存储:原码、反码、补码大小端字节序介绍及判断浮点型在内存中的存储解析数据类型详细介绍整形在内存中的存储:原码、反码、补码大小端字节序介绍及判断浮点型在内存中的存储解析...原创 2021-08-22 15:59:18 · 236 阅读 · 0 评论