自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 数据结构2—顺序表(附源码)

线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串...线性表在逻辑上是线性结构,也就是说连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。

2024-07-17 20:31:24 248

原创 数据结构1—算法复杂度

数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。没有一种单一的数据结构对所有用途都有用,所以我们要学各式各样的数据结构。

2024-07-17 13:21:59 816

原创 C语言—文件操作

磁盘(硬盘)上的文件是文件。程序文件、数据文件(从文件功能的角度来分类)。字符输入函数字符输出函数int main()//1.打开文件//打开文件成功的话,返回的是有效的指针//如果打开失败,返回NULL//写文件return 1;int i = 0;for(i='a';i

2024-07-10 19:35:09 670

原创 C语言—动态内存管理

已经掌握的两种内存开辟方式:类型定义和数组定义。但是它们开辟的大小是固定的,数组在声明的时候,还必须指定数组的长度,不方便调整。因此:通过动态内存开辟,自由申请和释放空间就比较灵活。

2024-07-05 20:26:11 635

原创 C语言—自定义类型:联合和枚举

像结构体一样,联合体也是由一个或者多个成员构成,这些成员可以是不同的类型。但是编译器只为最大的成员分配足够的内存空间。。。不难发现,联合体中各个变量的起始地址是一样的。

2024-06-30 15:58:44 319

原创 C语言—结构体

位段的成员必须是 int、unsigned int 或 signed int ,在C99中位段成员的类型也可以选择其他类型。位段的成员名后边有一个冒号和一个数字。位段中的位指的是二进制位。一定程度上减少内存占用。

2024-06-23 00:04:26 832

原创 C语言—数据在内存中的存储

文章回顾(C语言—操作符详解)整数的2进制表示方式有三种,即有符号的整数,三种表示方式均有和两部分,符号位都是用0表示“正”,用1表示“负”,最高位的一位是被当做符号位,剩余都是数值位。直接将数值按照正负数的形式翻译成二进制得到的就是原码。将原码的符号位不变,其他位次按位取反。反码+1。因为在计算机系统中,。使用补码,,同时,加法和减法也可以统一处理(CPU只有加法器)此外,

2024-06-12 16:47:49 1103

原创 电子科技大学卓中卓二轮——分析笔记

在Linux子系统(Subsystem for Linux, 简称WSL)中,API(应用程序编程接口)的转换和映射是一个关键过程,目的是让Windows应用程序能够与Linux环境中的系统调用无缝交互。WSL使用了名为User-Mode Linux (UML)的技术,以及 Wine(一个开源兼容Windows API的运行库)来实现在Windows上运行Linux应用程序。

2024-06-11 18:38:42 1208

原创 C语言—内存函数

本文主要针对C语言的内存函数的知识。内容中包含了很多总结内容。后续我也会跟进内容,尽量一周至少一次,保证内容的质量。如果有想知道的内容或者有建议的地方,欢迎后台私信或者在本文留言哦。相比于memcpy,memmove函数就是直接移动,应用面更加广。四个1都赋值到arr【1】中,最后形成了一个非常大的数字。memset是用来设置内存的,将内存中的值。输出结果:hello xxxxx。

2024-06-07 09:55:52 580

原创 C语言—字符函数和字符串函数

C语言中有一系列的函数是专门做字符分类的,也就是一个字符是属于什么类型的字符的。这些函数的使用都需要包含一个头文件 ctype.h。例:将一句话中的小写字母改成大写字母。

2024-06-05 23:03:59 1243

原创 C语言—深入理解指针(5)

在学习操作符的时候,我们学习了 sizeof,,如果操作数是的话,计算的是所占内存空间的大小。sizeof 只关注占用内容空间的大小,不在乎内存中存放什么数据。

2024-06-02 17:07:59 560

原创 C语言—深入理解指针(4)

如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,被调用的函数就是回调函数。特别说明一下,其中的(char*)目的是为了将base强制转换为1字节这样在加常量时,便于指针指向的后移。int (*cmp)(const void*,const void*):函数指针——传递函数的地址。size_t size:base指向的数组中一个元素的大小,单位是字节。void* base:指向待排序数组的第一个元素的指针。size_t num:base指向数组中的元素个数。

2024-05-22 16:50:17 559 1

原创 《深入理解计算机系统》—计算机系统漫游

hello 程序中的代码和数据被加载到主存,处理器就开始执行 hello 程序中的 main 程序的机器语言指令。printf 函数存在于一个名为 printf .o 的单独的预编译好了的目标文件中,而这个文件必须以某种方式合并到我们的 hello.o 程序中。本文主要是博主在阅读《深入理解计算机系统》一书中觉得重要的内容,对于书中比较好的描述进行了保留,同时对一些其他概念进行了总结,如果又错误还望评论区指正,相互学习,共同进步。的执行单元组成,每个线程都运行在进程的上下文中,并共享同样的代码和全局数据。

2024-05-16 11:43:51 1219

原创 C语言—深入理解指针(3)

一般使用:另一种使用方法:“hello world”是一个常量字符串,不能被修改。首先str1和str2是两个数组,起始地址不一样,所以str1!=str2。但是内存相同的常量字符串只需要保存一份就够了!它们的起始地址都一样,所以str3=str4。(只读数据区)

2024-05-10 17:14:18 1016 1

原创 C语言—深入理解指针(2)

不难发现,注:1.数组就是数组,是一块连续的空间,是可以存放一个或者多个元素的。2.指针变量是一个变量,是可以存放地址的变量。数组和指针不是一回事,但是可以用指针来访问数组。因为数组在内存中是连续存放的,指针的元素很方便的可以遍历数组,取出数组的内容(指针运算)。

2024-05-08 17:30:43 569 1

原创 C语言—深入理解指针(1)

计算机上CPU(中央处理器)在处理数据的时候,需要的数据是在内存中读取的,处理后的数据也会放回内存中,那我们买电脑的时候,电脑上内存是8GB/16GB/32GB 等,其实管理方式也是把内存划分为一个个的内存单元,。。首先,必须理解,计算机内是有很多的硬件单元,而硬件单元是要相互协同工作的。所谓的协同,至少相互之间要能够进行数据传递。但是硬件与硬件之间是相互独立的,那么如何通信呢?这就需要用“”链接起来。而CPU和内存之间也是有大量的数据交互的,所以,两者必须也用线连起来。

2024-05-08 01:41:44 743

原创 C语言—操作符详解(操作符、进制转换、原码反码补码、结构体)

(左移一位有乘2的效果,右移一位有除2的效果)

2024-05-04 22:19:46 1182

原创 C语言—函数递归(递归与迭代、青蛙跳台阶问题和汉诺塔问题)

递归是学习C语言函数绕不开的一个话题,那什么是递归呢?递归其实是一种解决问题的方法,在C语言中,递归就是。写一个史上最简单的C语言递归代码:上述代码就是无限递归了。但是如果递归无限的递归下去,就会出现这样的错误:Stack overflow(栈溢出)。每一次函数调用,都要为这次函数调用分配内存空间,内存空间是在栈区分配的。

2024-05-03 14:48:24 1035

原创 VS 2022中(无法启动程序“路径”。系统找不到指定文件。)可能的解决办法

可能会出现上述情况。

2024-04-29 11:43:15 358 1

原创 VS的实用调试技巧(程序员必学的调试技巧)

当我们发现程序中存在的问题的时候,那下一步就是找到问题,并修复问题。这个找问题的过程称为调试(是一个动作),英文名是debug(消灭bug)的意思。调试一个程序,首先是承认出现了问题,然后通过各种手段去定位问题的位置,可能是逐个过程的调试,也可能是隔离和屏蔽代码的方式,找到问题所在的位置,然后确定错误产生的原因,再修复代码,重新测试。

2024-04-28 23:17:42 986

原创 Visual Studio 2022 中找不到监视?

注:如果想了解更加详细的VS2022 的调试技巧,请在主页查看“VS2022的实用调试技巧”。同时按:Ctrl + Fn + F10 进入调试窗口。

2024-04-27 21:11:29 284

原创 C语言—扫雷游戏(初学者就可以学会的简单项目)

本文主要针对C语言的小游戏,具有一定的趣味性。后续我也会跟进内容,尽量一周至少一次,保证内容的质量。如果有想知道的内容或者有建议的地方,欢迎后台私信或者在本文留言哦。

2024-04-23 02:22:13 269 1

原创 C语言—函数(基础,static和extern)

聚焦点应该是自定义函数上文已经提过:函数定义和函数调用,那么这里来了一个新的概念叫:函数声明。简而言之就是,在实例代码中,每一个自定义函数都是写在主函数main上面的,但是如果将自定义函数写到main函数的下方,那么此刻就需要用药函数声明,方便程序从上到下运行的时候,知道有这么一个函数,否则会报错。

2024-04-21 23:21:50 1102 2

原创 C语言—数组(对数组有深度的理解)

从这个概念中我们就可以发现2个有价值的信息:1.数组中存放的是1个或者多个数据,但是数组元素个数不能为0。2.数组中存放的多个数据,类型是相同的。数组分为一堆数组和多维数组,多维数组一般比较多见的是二维数组。

2024-04-15 18:02:58 730 1

原创 C语言—小游戏篇(关机、猜数字)

shutdown语法-s 关机-t 设置时间关机 秒-a 取消关机shutdown -s -t 60 //倒计时60秒关机shutdown -a //取消关机//介绍一个库函数system---库函数,可以执行系统命令 stdlib.h。

2024-04-11 23:17:05 739 2

原创 C语言—分支和循环(各类操作符、循环语句)

介绍:C语言是结构化的程序设计语言,这里的结构值得是。C语言是能够实现这三种结构的,其实我们如果仔细分析,我们日常所见的事情都可以拆分为这三种结构或者这三种结构的组合。(建议有些基础的同学学习,进行知识框架的构建)

2024-04-11 01:22:55 992 1

原创 C语言—数据类型和变量(printf和scanf原理剖析)

printf()的作用是将参数文本输出到屏幕,它名字里面的f代表format(格式化),表示可以定制输出文本的格式。(相关代码自己肯定见过,如果没有,请自学或查看第一篇C语言基础概念博客)printf()不会在行尾自动添加换行符,运行结束后,光标就停留在输出结束的地方,不会自动换行。为了让光标移动到下一行,可以在输出内容后添加\n。这玩意就是换行符,其实在C鱼眼基础概念有更多转义字符的介绍。

2024-04-03 01:18:21 900 2

原创 C语言—常见基础概念(一个初学者必须要了解的东西)

C语言把.c为后缀的文件称为源文件,把.h为后缀的文件称为头文件(header)。上述简单代码中出现了printf函数,实现了在屏幕上的信息的打印,那么就来简单介绍一下。printf 是库函数 ------C语言的标准库中提供的现成函数,它的功能是在标准输出设备(一般指屏幕)上进行信息的打印。上面的代码是使用printf函数打印字符串(就是一串英文字母)。我们在使用库函数的时候,是需要把标准库给写出来,否则你怎么引用库函数呢?那么,在这里,我们的标准库也就是头文件。

2024-03-30 22:42:36 1375 2

C++后端学习的技术栈

C++后端学习技术栈涵盖了开发高效、可扩展、安全的服务器端应用程序所需的一系列技能与工具。其主要组成部分包括: 1.精通C++编程语言:掌握现代语言特性,遵循最佳实践,并严格遵守《Effective C++》、C++核心指南等既定编码规范。 2.深刻理解数据结构、算法与软件设计模式:能据此编写出优化且易于维护的代码,解决复杂问题并提升系统性能。 3.网络编程基础:熟练使用套接字编程、TCP/IP协议、HTTP(S)协议等,构建稳定可靠的网络通信模块。 4.并发与多线程编程:掌握C++并发库(如std::thread、std::async、std::mutex等)以及多线程设计策略,确保在多核处理器环境下实现高效并发处理。 5.数据库操作:熟悉SQL语言,能使用ODBC、JDBC等数据库接口或ORM框架(如SQLite、MySQL、PostgreSQL等)进行数据访问、存储与管理。 6.Web服务开发:了解RESTful API设计原则,能使用Web服务器库(如Poco, Boost.Beast, CppREST SDK等)或微服务框架(如gRPC)开发高性能、跨平台的Web服务。 等等

2024-04-13

C++后端开发书籍推荐

《C++ Primer》 《Effective C++》 《More Effective C++》 《深度探索C++对象模型》 《C++ Concurrency in Action》 《Network Programming with TCP/IP》 《UNIX Network Programming》 《Design Patterns: Elements of Reusable Object-Oriented Software》 《High Performance MySQL》 《Professional C++》 《C++ Standard Library》 《Advanced Linux Programming》 《Pro Git》 《Clean Code: A Handbook of Agile Software Craftsmanship》 《The Art of Readable Code》等等

2024-04-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除