
c/c++
文章平均质量分 88
语法,操作
捕获一只小肚皮
沉心静气,一往无前
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
五种IO模型
IO,即input/output,IO模型即输入输出模型,而比较常见且听说的便是磁盘IO,网络IO.按照冯诺依曼结构的来看,假设我们把运算器、控制器、存储器三个设备看做一个整体(假设称为中转),那么输入设备、输出设备,和中转就构成一个中转IO,也就是说IO是以某一个核心为的,而涉及计算机核心与其他核心之间的过程我们就成为一个IO.原创 2022-11-18 23:39:19 · 6998 阅读 · 3 评论 -
自主WebServer实现
基于TCP传输的HTTP协议自我实现原创 2022-11-14 20:30:05 · 5629 阅读 · 0 评论 -
自我实现tcmalloc的项目简化版本
博主这里仅仅只是取出该项目的重要结构进行了讲解,对于一些细节优化,这里并没有阐述,例如: 线程申请的内存大小大于256KB时候,便直接向PageCache申请;利用基数树优化哈希表结构减少锁竞争的开销;利用定长内存池代替new和delete;想比较细致的观看该项目,可以点击项目源码。原创 2022-11-12 16:39:53 · 5751 阅读 · 2 评论 -
C++入门篇(15)之模板知识进阶
文章目录前言模板的非类型参数模板的特化模板的分离编译问题前言前面的章节,我们大致结束了stl基础,现在即将向模板进阶和继承多态开始出发对于模板,博主在前面章节简答的介绍过,而此篇文章主要讲模板的一些更高级应用模板的非类型参数在前面的章节中,我们使用到的模板参数一直是class,但实际上,其模板参数不止有class,比如我们有此下模板:#define N 100;template<class T>class Array{ private: T array[N];原创 2022-03-05 14:29:07 · 980 阅读 · 24 评论 -
C++入门篇(14)之适配器,仿函数 并简单实现队列和栈
文章目录前言适配器stack的实现①结构搭建②push数据③pop数据④size返回大小⑤empty判空⑥top获取栈顶⑦总览结构队列的实现①结构搭建②push数据③pop数据④size返回大小⑤empty判空⑥front获取队头⑦总览结构stack和queue适配器注意事项伪函数优先级队列优先级队列的实现①结构搭建②向上调整法③push数据④向下调整⑤pop数据⑥获取堆顶⑦获取数量⑧判空⑨总览结构总结前言在前面的几个章节中,博主陆陆续续地介绍了模板,以及STL容器中的string和vector的线性原创 2021-11-28 16:31:45 · 2240 阅读 · 23 评论 -
C++入门篇(13)之list的实现
文章目录前言list的结构搭建两种构造函数① 默认构建函数② 迭代器区间构建函数拷贝构造函数赋值重载数据的头尾删插① 尾插push_back()② 尾删pop_back()③ 头插push_front()④ 头删pop_front()迭代器的实现迭代器接口clear()清理析构函数erase和insert的实现and简化头尾数据删除最终list代码前言上一节我们简单叙述了一下list的概念,知道其底层是一个带头结点的双向循环链表,并且介绍了其使用方法,**但是!**知其然未必知其所以然,我们不但应该知其原创 2021-11-24 17:11:17 · 4382 阅读 · 40 评论 -
C++入门篇(12)之list的使用
文章目录前言构造的使用1 构造空list2 构造含n个值为val的元素3 拷贝构造4 用迭代区间迭代器接口1 正常迭代接口2 逆向迭代接口容量接口元素访问数据修改头插头删尾插尾删pos位置插入erase擦除pos位置交换两个链表元素前言今天我们终于来到了C++的list章节,在讲解之前,先回顾一下前面的vector和string吧.vector和string的底层都是用的顺序表,因此其空间在物理结构上连续的.而今天的list却不一样,它在物理上是散乱的.因为list本质上是一个链表!,并且是一个带头双原创 2021-11-18 09:45:46 · 1433 阅读 · 23 评论 -
C++入门篇(11)之vector的底层实现
文章目录前言定义初始结构声明构造函数容量有关操作获取有效数据大小size()获取数据容量capacity()增加容量reserve()重置大小resize()迭代器数据操作尾插push_back()尾删pop_back()某一位置插入 insert()某一位置删除 erase()拷贝构造[]访问操作=赋值操作特别注意!!!!前言上一小节,我们讲解了vector的使用,也大概了解了其创建对象,增删改查数据等操作.那么今天,我们就来大致实现一下吧.定义初始结构在标准C++中,vector同样是一个模板原创 2021-11-17 11:47:02 · 6550 阅读 · 33 评论 -
C++入门篇(10)之vector使用
文章目录前言创建对象迭代器数据插入数据删除容量操作前言兜兜转转,我们来到了C++的vector章节,今天就讲讲怎么使用vector吧.vector的本质就是一个线性的顺序表,只不过在C++中被弄成了模板,以达到泛型编程目的.而使用的方面大概包括创建对象,数据插入,数据删除,数据访问,迭代器以及容量修改等方面创建对象在C++中,官方文档所给的创建对象方法有4-6种,博主这里便介绍其中最常用的4种,同时博主为了大家先能够简单使用,会省去一些与源文档不一样的地方.直接创建,即和类定义对象一样,官方原创 2021-11-12 17:43:08 · 1707 阅读 · 17 评论 -
C++入门篇(9)string的模拟实现
文章目录前言深浅拷贝string的实现结构定义构造函数拷贝构造析构函数赋值重载[]访问改变容量字符和字符串拼接查询大小迭代器插入和删除clear()前言本篇文章讲解的内容主要是深浅拷贝和string类的实现.深浅拷贝概念:**浅拷贝:**只将对象的值拷贝过来,存在一定的隐患.**深拷贝:**给每个对象单独分配资源,一般对象涉及资源管理都会用深拷贝.什么意思呢?我们假设自己定义一个类,如下: class String{public: String(const char* s = "1原创 2021-11-06 10:52:24 · 1911 阅读 · 37 评论 -
C++入门篇(8)之string使用
文章目录前言basic_string模板介绍string的对象构造(初始化)string()string (const char* s)string(const string& s)string(size_t n,char c)string的容量操作size()和capacity()empty()和clear();resize()reserve()string的访问和遍历操作[]形式访问迭代器访问const迭代器和reverse迭代器范围遍历string的查找和修改push_back()append原创 2021-10-29 10:40:33 · 1134 阅读 · 23 评论 -
C++入门篇(7)之模板基础讲解
文章目录前言引入模板函数模板模板的匹配原则模板的显示调用类模板注意1注意2前言今天博主将要介绍的内容是–模板,他在C++中具有非常重要的位置.至于什么是模板呢?我们请看下面的章节.引入我们对交换函数Swap已经非常熟悉了,但是我们经常会遇到这样的一些事,比如,很多不同的数据类型进行交换,那么我们就需要写不同的重载Swap,如下:#include <iostream>using namespace std;void Swap(int& a,int& b){原创 2021-10-27 17:28:12 · 1396 阅读 · 23 评论 -
C++入门篇(6)之内存处理
文章目录前言C/C++内存分布c语言中动态内存管理方式C++内存管理方式new和delete操作基础类型new和delete操作自定义类型基于malloc开辟并初始化的自定义类型new和delete底层实现原理operator new和operator deletenew的底层实现delete的底层实现new[]的底层实现delete[]的原理前言兜兜转转,我们终于结束了C++中非常重要的一环**(类和对象),现在来到了C++中的内存管理章节.在此篇文章中,博主将会介绍内存的分布,不同于c的新型申请堆原创 2021-10-25 17:32:31 · 883 阅读 · 9 评论 -
C++入门篇(5)之类和对象总结下
文章目录前言再谈构造函数初始化列表初始化列表注意点explicit关键字static成员**静态成员为所有类对象所共享,不属于某个具体的实例**类静态成员即可用类名::静态成员或者对象.静态成员来访问静态成员函数**没有**隐藏的this**指针**,不能访问任何非静态成员静态成员和静态函数也有public、protected、private3种访问级别,也可以具有返回值友元友元函数友元类内部类前言本篇文章将会主要讲解构造函数的初始化列表,static成员,以及内部类,目的是对前几章讲解类时候的一个深原创 2021-10-24 17:13:26 · 4745 阅读 · 41 评论 -
C++入门篇(4)之6大默认函数中
文章目录前言默认函数的引入构造函数概念:注意点1注意点2析构函数拷贝构造赋值运算符重载构造运算符重载赋值重载运算符重载练习const成员const4问取地址及const取地址操作符重载前言上一章,博主介绍了类的该来以及使用,现在我们开始更加深入的章节吧,那就是类的默认函数,而我们要着重讲解的将会是前4个默认函数,至于最后两个,因为最后两个几乎没什么用默认函数的引入上一节我们已经知道了类,现在博主有个小问题,就是如果我们定义一个空类,比如下面:class Date{};Date类是原创 2021-10-14 16:43:14 · 2107 阅读 · 37 评论 -
日期----类之实现
文章目录前言类的定义和各种操作符声明获取某年的某月有多少天构造函数的实现拷贝构造赋值运算符重载+=整型实现+整型实现-=整型实现-整型实现前置++后置++前置--后置-->重载==重载>=重载<重载<=重载!=重载日期减去日期前言这是一篇对于日期类的实现练习,是上一篇文章的一个小小分支;类的定义和各种操作符声明在上文中我们已经详细说明了需要实现哪些操作符和声明,所以这里便直接写出.class Date{public: // 获取某年某月的天数原创 2021-10-14 16:41:11 · 617 阅读 · 18 评论 -
C++入门篇(3)之类和对象上
文章目录前言面向过程与面向对象类与对象的引入何为类类的定义访问限定符说明封装类的实例化类模型1.如何计算类对象大小2.类对象的存储方式this指针面试题1.`this`指针存在哪里?2.this指针可以为空吗?前言在讲解了C++的部分基础后,我们来到了C++的精华部分,类与对象.在本章节中,博主将会带领大家了解类的定义和类的使用.面向过程与面向对象我们熟悉的C语言是面向过程,关注的是过程,通过分析问题而写出对应的函数并调用来解决问题.而C++是基于面向对象的,关注的是对象,通过把复杂的事情拆原创 2021-10-11 22:38:46 · 1312 阅读 · 25 评论 -
C++入门篇(2)之引用,内联函数,auto和范围遍历
文章目录前言extern "C"引用1.概念2.语法3.引用特性4.常量引用5.引用做函数返回值6.引用注意点7.传值、传引用效率比较内联函数1.概念2.特性auto关键字1.概念2.auto的使用细则3.auto不能推导的场景基于范围的for循环(C++11)使用条件指针空值nullptr前言承接上文入门篇1,博主这次将会继续更新以下内容:extern ,引用 ,内联, auto ,范围for循环 和 C++中的空指针表示法(温馨提示:都是讲解浅显的知识,后面会深入讲解.),浏览此文,大家可以根据上原创 2021-10-09 20:55:42 · 1735 阅读 · 31 评论 -
C++入门篇(1)之关键字,命名空间,输入输出和函数重载
typora-copy-images-to: upload文章目录前言介绍C++关键字命名空间命名空间来由命名空间定义命名空间可合并命名空间的三种使用方法第一种第二种第三种C++输入&输出cin简单使用cout简单使用缺省参数概念全缺省参数半缺省参数函数重载函数重载概念重载注意c为何没重载,c++为何有?怎么实现的?更新完毕!前言历经3个月,博主逐渐更需完毕C语言的大部分知识,又耗费两个月左右,博主又更新完毕初阶的数据结构,终于到了今天,那就是我们期待已久的c++知识,此次文章是将会是c.原创 2021-09-26 20:41:12 · 1477 阅读 · 23 评论 -
数据结构之队列
文章目录前言1. 何为队列2. 怎样实现队列3. 项目搭建4. 定义队列5. 队列的所有操作5.1 队列之初始化5.2 队列之判空5.3 队列之入队5.4 队列之出队5.5 队列之获取队首5.6 队列之获取队尾5.7 队列之返回队列元素数量5.8 队列之销毁空间总代码前言陆陆续续的,我们已经学完了顺序表,单链表,双链表以及栈.今天,博主更新的内容就是数据结构中的队列.1. 何为队列队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出的特性只允许插入数原创 2021-08-09 18:14:50 · 1604 阅读 · 64 评论 -
数据结构之栈
文章目录前言栈是什么样子?清楚怎样实现栈栈结构的代码实现栈项目文件搭建栈的各种操作实现1 栈之初始化2 栈之检查容量3 栈之判空4 栈之尾插5 栈之尾删6 栈之获取元素数量7 栈之读取栈顶8 栈之销毁空间前言经历了算法效率(复杂度)后,我们开始学习了单双链表,然后到达了现在,而此次博主要讲解的便是数据结构中的 栈,栈是什么样子的呢? 它又具有哪些特性 ? 可以做哪些事情呢 ? 等一系列问题,博主将会在下面意一一进行解答.栈是什么样子?既然出现了栈这种数据结构,我们就需要知道它是什么样原创 2021-08-07 07:11:32 · 1485 阅读 · 21 评论 -
通过这6道初级链表题检验你的链表知识是否合格
文章目录前言[01 删除链表元素](https://leetcode-cn.com/problems/remove-linked-list-elements/description/)[02 反转链表](https://leetcode-cn.com/problems/reverse-linked-list/submissions/)[03 查找链表中间结点](https://leetcode-cn.com/problems/middle-of-the-linked-list/submissions/)[0原创 2021-08-06 16:38:03 · 1499 阅读 · 29 评论 -
数据结构之双链表
文章目录前言为何要双链表?双链表的结构图示项目的建造双链表结点的定义双链表的各种方法实现双链表之新建结点双链表之初始化双链表之判空双链表之求具体元素数量双链表之打印链表内容双链表之尾插双链表之尾删双链表之头插双链表之头删双链表之查找值双链表之任意位置插入值双链表之任意位置删除双链表之销毁空间前言上一节,博主讲解了单链表,并且具体的实现了单链表的增删改查,而这次博主要讲解的是双向循环链表,简称双链表.为何要双链表?既然有了单链表,为何还搞一个双链表呢? 答案就是解决了单链表的一些缺点.原创 2021-08-04 19:01:07 · 3169 阅读 · 67 评论 -
数据结构之单链表
文章目录前言1. 为何需要链表?2. 清楚单链表结构3. 定义单链表结构代码实现4.单链表的增删改查4.1 单链表之尾插4.1.1 单链表之开辟空间4.1.2 单链表之打印值4.2单链表之头插4.3单链表之尾删4.4 单链表之头删4.5单链表之查链表长度4.6单链表之判断链表是否为空4.7单链表之查找某一个值4.8单链表之 任意位置删除4.9单链表之 任意位置插入综合:前言上一章节,博主讲解完毕顺序表,并详细讲解了顺序表的各种增删查改方法.而这次我们需要讲解的是链表,而又主要讲解的是单链表1.原创 2021-08-01 23:20:21 · 1406 阅读 · 34 评论 -
数据结构之顺序表
前言讲完算法效率,就正式开始我们的数据结构了,而今天博主讲解的内容是顺序表顺序表何为顺序表?即一个数组,在逻辑结构和物理结构上,它都是连续的,这里有个概念:逻辑与物理结构.逻辑结构: 人为所想出来的,实际并不存在.物理结构: 实际存在,可以观察得到的怎么理解这两个概念呢?举个例子,假设有 甲乙丙丁戊 五个人.如果挨着顺序站成一排,五个人依次报数,会报1 2 3 4 5.逻辑上来讲,他们五个人是连续的,因为依次报数1 2 3 4 5物理上来讲,他们五个人是连续的,因原创 2021-07-30 20:24:43 · 1981 阅读 · 31 评论 -
算法效率(时间与空间复杂度)
文章目录前言算法效率时间复杂度样例1样例2样例3样例4样例5样例6递归的时间复杂度求解样例1样例2空间复杂度样例1样例2样例3样例4前言新的学习阶段又开始了,在更新完C语言后,博主将开始更新数据结构的知识了,说到数据结构想必大家都是知道其重要性吧.嗯,废话不多说,那我们现在就开始谈谈数据结构吧~算法效率什么是算法效率? 即判断一个程序的相对好与坏的方法.算法效率的测评主要有两种:第一种: 时间复杂度(又称时间效率)第二种: 空间复杂度(又称空间效率)而由于现在科技的飞速发展,计算机的原创 2021-07-29 10:40:14 · 2530 阅读 · 29 评论 -
预处理过程详解
前言上一篇文章说到,这将是博主更新的最后一篇关于C语言知识点的博客,也确实,因为这篇文章是讲解的 c的预处理,也是c语言最后的一部分知识了,还是老话,博主的所有文章几乎篇幅都比较长,大家可以根据目录进行选择性观看,同时,博主还是有些小心思,帮自己以前的文章点点浏览量,哈哈哈,放上以前的文章链接.c语言操作符基础指针一篇面试题的经历数据存储原理基础结构体指针进阶数组与指针关系指针与数组经典题字符串与内存函数自定义类型,结构体进阶动态内存详解^ 异或运算技原创 2021-07-23 19:19:13 · 997 阅读 · 23 评论 -
通讯录(c语言版本)
前言我们用手机打电话,发信息时候总是会用到通讯录那么通讯录是干什么的呢?显而易见,用于存储一个人的信息(姓名,电话,地址)等等.我们可以进行查询,删除,增加等相关信息.而博主写这篇博客的目的就是 把我们最近学习的C语言知识用来制作简易版本的 通讯录.①明确项目目的此前看过博主的博客小伙伴可能知道博主的博客风格.博主写任何一个小项目之前都是先去梳理 目的,然后去搭建逻辑结构,再去分别实现模块化.此次仍然不例外.目的:可以存储个人信息(姓名,性别,年龄,电话,地址), 说明少不原创 2021-07-23 10:46:50 · 721 阅读 · 19 评论 -
三子棋小游戏(C语言版本)
①游戏效果有一个3*3的棋盘每次下棋后(电脑和玩家),棋盘会更新数据会有菜单提示相关命令进行相关操作下棋方法是输入坐标每一局游戏结束后,会询问是否继续.②主函数逻辑搭建任何一个项目的实现,最重要的就是逻辑结构搭建,而各个功能的实现就是采取函数(模块化)进行细分.所以我们需要搭建逻辑,那么逻辑结构是啥呢?首先会跳出提示菜单,内容为 0退出游戏,1开始/继续游戏,其他键提示错误,并重新输入按0后提示 “成功退出游戏”按1开始游戏#include <stdio.h&g原创 2021-07-21 16:14:08 · 1205 阅读 · 31 评论 -
猜数字小游戏(C语言版)
文章目录清楚实现目标明确逻辑结构功能细节实现菜单模块储存战绩游戏模块游戏模式选择战绩查询成品展示清楚实现目标做任何一个小项目之前,我们首先都需要明确自己想要实现的目标.所以猜数字游戏的实现目标是啥?电脑随机给出一个目标数字,玩家进行猜测电脑会根据玩家猜测的数字,提示猜大了还是小了直到猜对为止,一轮游戏结束.游戏结束会询问是否继续.1代表继续,0代表不继续.游戏模式有3种(简单,普通,困难),对应内容分别为猜25次,15次,5次游戏会记录你的战绩,在菜单中按2表示查询原创 2021-07-19 10:24:00 · 982 阅读 · 22 评论 -
迄今为止见到过的一个超级妙的关于%的计算!!!!!!!
前言博主今天翻阅以前刷过的一些题,然后突发奇想,有没有人有不一样的解法,好家伙,还真给我逮到了.于是就看了看,实在被那个大佬的解法给震惊,因此记录下这篇文章.此外,博主关于这个公式的推导完全是基于自己主管来的,若评论区有大佬觉得不够严谨,欢迎斧正.文章目录前言题目普通方法重头戏----优秀方法题目幻方是一种很神奇的 NxN 矩阵:它由数字 1,2,3.......N×N构成,且每行、每列及两条对角线上的数字之和都相同其中,输入的N一定是奇数比如 N=5时候:比如N=7时候:那么如果原创 2021-06-09 22:48:24 · 1238 阅读 · 121 评论 -
你是否还记得c语言的这些文件操作?
前言学完c已经较长时间了,在学习期间陆陆续续的整理了多篇关于c的详细知识点文章,此篇文章将是博主对于c整理的倒数第二篇文章----------c语言的文件操作.下面博主也放出了一些之前的文章链接,大家若是有兴趣,也可以观看观看.温馨提示,此文较长,大家可以根据目录选择观看c语言操作符基础指针一篇面试题的经历数据存储原理基础结构体指针进阶数组与指针关系指针与数组经典题字符串与内存函数自定义类型,结构体进阶动态内存详解^ 异或运算技巧&原创 2021-06-02 00:01:48 · 3115 阅读 · 175 评论 -
C语言中的这个小细节你知道吗?
文章目录计算型细节表达式细节大家回答对了几道题?欢迎评论1.现在正式讲解上面所有的题设计到的内容--------表达式求值1.1隐式类型转换 (整型截断与提升)1.1.1 第一题讲解1.1.2 第二题讲解1.1.3 第三题讲解1.2算术转换1.3 操作符属性1.3.1 什么是优先级?1.3.2 什么是结合性?1.3.3 什么是求值顺序?1.3.4 第四题讲解既然题目都说了是小细节,一来就介绍细节多没意思啊,先坑坑大家再详细介绍吧,嘿嘿.直接上7个题吧,看看你能做对几个呢?计算型细节①:#incl原创 2021-05-27 23:57:28 · 18457 阅读 · 183 评论 -
你真的会 &与运算妙用吗?
文章目录求取多少1再来个进阶版 & 运算更高级进阶最后一个小技巧 n&1求取多少1输入一个整数,求该整数二进制格式有多少位是1输入: 22输出: 3输入:251输出:7运用原理: n & (n-1)比如: 16 与 16-110000(二进制16)01111(二进制15)16&15 的结果就是0. 发现什么了?? 抵消了数字16二进制的第一个1.下面我们以251画图演变:其实减1的作用就是为了让二进制最后一个1的后面全部为0,利于相原创 2021-05-20 23:16:19 · 1269 阅读 · 14 评论 -
骚年,你真的懂了位运算 异或 吗?
数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?示例 1:输入:[3,0,1]输出:2示例 2:输入:[9,6,4,2,3,5,7,0,1]输出:8该题链接题解:我们先不看这个顺序乱的数组,而是假设有一个顺序完整的数组.然后还需要知道^的一个特性:A ^ A = 0A ^ 0 = A异或具有交换律: A^B^C = C^A^B上图:那么我们把0和每个下标和对应的数字 异或结果就是0^0^0^1^1^2^2.原创 2021-05-20 21:34:44 · 711 阅读 · 9 评论 -
动态内存管理详细介绍
文章目录1.为什么存在动态内存分配?2.各种动态内存函数介绍2.1 malloc2.1.1声明与解释2.1.2 使用2.2 free2.3 calloc2.4 realloc (王者出场,真正的调整数组长度)2.4.1 realloc的空间开辟方式3.常见的动态内存错误示例1示例2示例3示例4示例5示例64.几个经典笔试题题目一:第一种改法:第二种改法:题目二:第一种改法:第二种改法:题目三:5.柔性数组5.1具有柔性数组的结构大小计算:5.2 柔性数组的使用总结1.为什么存在动态内存分配?目前为止,我原创 2021-05-18 20:06:30 · 1445 阅读 · 11 评论 -
VS2019怎么查找源文件(头文件)位置
vs2019的存储路径已经改变.现在已经默认放到其他位置.文章目录vs2019的存储路径已经改变.现在已经默认放到其他位置.第一步第二步第三步第四步第五步第六步第七步第一步打开C盘(如果后面发现找不到就打开D盘)的Program Files (x86)第二步打开Program Files (x86)下的Windows Kits第三步打开Windows Kits下的 10第四步打开 10下的 Source文件第五步打开Source 下的以10.0...开头的文原创 2021-05-16 11:26:55 · 17250 阅读 · 8 评论 -
自定义类型:结构体(内存对齐),枚举,联合
文章目录自定义类型:结构体(内存对齐),枚举,联合前言:1.结构体1.1结构体类型的声明1.1.1结构的基础知识1.1.2结构的声明语法1.1.3特殊的声明(匿名结构体)问题: 匿名结构体中上式子这样写会怎样? p = &x;1.2**结构的自引用**结论: 结构体的自引用需要用结构体指针1.2.1 `typedef`控制结构体命名1.3**结构体变量的定义和初始化**1.3.1结构体变量的定义1.3.2结构体变量的初始化错误初始化示例:1.4**结构体内存对齐**1.4.1**结构体内存对齐规则*原创 2021-05-14 22:49:08 · 1768 阅读 · 13 评论 -
字符串与内存函数
文章目录前言字符串长度函数[`strlen`](http://www.cplusplus.com/reference/cstring/strlen/?kw=strlen)1.`strlen`的使用(接收地址)2.使用`strlen`的小坑`strlen`的模拟(计数法 递归 指针相减)01 计数法02 递归法03 指针相减法长度不受限制的字符串函数`strcpy`模拟实现`strcpy``strcat`提醒: 追加原理是首先找到destination的\0,然后在\0上追加source提醒:如果自己给自原创 2021-04-26 14:46:59 · 873 阅读 · 8 评论 -
指针与数组经典面试题
在前面讲解完毕指针相关内容后,下面便开始进行答题模拟再进行做题以前,我建议自己先行快速浏览一下指针内容:指针基础指针进阶文章目录在前面讲解完毕指针相关内容后,下面便开始进行答题模拟数组笔试题讲解一维数组整型数组字符数组`sizeof求字符大括号数组``strlen求字符数组标准写法``sizeof求取标准写法数组``strlen求取标准字符串`常量字符指针关于`strlen`求常量字符串长度二维数组总结 :数组名的意义:指针笔试题讲解笔试题1笔试题2笔试题3笔试题4笔试题5笔试题6笔试题原创 2021-04-24 00:07:07 · 2512 阅读 · 11 评论