自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言中指针操作的安全性与陷阱:深入理解非法指针引用

在C语言编程中,指针是一种强大的工具,它能够直接操作内存地址,提供灵活的数据处理能力。本文将通过一个具体的代码示例来探讨指针操作中常见的陷阱之一:非法指针引用,以及它可能导致的问题。在处理指针时保持谨慎和细致的态度,是成为一名优秀的C语言程序员不可或缺的一部分。这段代码乍看之下似乎没有明显的语法错误,但它实际上包含了严重的逻辑缺陷和潜在的运行时错误。:一旦指针不再指向有效的内存位置(例如,当它所指向的对象被销毁或重新分配),应将其设置为。指针或未初始化的指针,递增或递减操作是未定义的,应避免执行此类操作。

2024-06-26 10:13:11 238

原创 C语言实现一个简单的文件拷贝程序

1024# define _CRT_SECURE_NO_WARNINGS # include # include # include # define SIZE 1024 * 2 //每次读写2k数据。

2024-05-15 14:10:37 333 1

原创 探秘C++中的Placement New:深度解析与常规new的对比

为C++开发者提供了在特定内存地址构造对象的能力,与常规new相比,它虽需手动管理内存生命周期,但却赋予了内存使用的高度灵活性和性能优化空间。在内存敏感或追求极致性能的场景,如内存池实现、硬件交互中,成为不可或缺的工具,通过直接在预分配内存上创建对象,有效规避了频繁内存分配的开销与碎片化问题,展现了其在特定应用中的独特价值。

2024-05-04 17:00:49 1443 1

原创 安全地管理C++中的内存 —— 删除null指针的考量与实践

引言C++标准对删除null指针的规定安全实践:为什么删除null指针是合理的智能指针与手动管理的对比结论。

2024-05-02 15:44:26 1284 2

原创 C语言数组越界访问导致的死循环问题

在C语言中,数组越界的行为是未定义的(Undefined Behavior, UB),意味着编译器不必对此类错误进行检查,且实际发生什么取决于编译器、运行时环境等因素。在某些情况下,程序可能会恰好在数组的末尾之后有一些未使用或可写的内存,此时对a[N]的写入可能不会立即导致程序崩溃。但是,这也可能导致覆盖掉紧随数组之后的内存区域的数据,如果那个区域存储的是循环控制变量(在这个例子中是i),则可能会无意中修改循环条件,从而导致死循环。在C语言编程中,要时刻注意数组的索引范围,避免出现越界访问的问题。

2024-04-30 10:24:37 138

原创 链表、指针技巧与良好品味

引言代码示例CS101版本一个更优雅的解决方案它是如何工作的整合头指针维护一个句柄更进一步在现有项前插入快速重构实现`insert_before()`函数结论。

2024-03-03 09:43:00 756 2

原创 K-均值聚类算法

在这个示例中,我们利用了向量(vector)来存储二维平面上的数据点,使用随机选择的方法初始化聚类中心,并通过迭代更新聚类中心和簇的分配来最终得到聚类结果。K-均值聚类算法是一种无监督学习方法,其目的是将一组数据点划分成 K 个簇,使得同一个簇内的数据点之间的相似度最高,不同簇之间的相似度最小。对于每个数据点,计算它与 K 个质心之间的距离,将其归为距离最近的簇。需要提前指定簇的数量 K,但实际应用中可能无法确定。对于异常点的处理较为困难,可能会被分到错误的簇中。对于非凸形状的数据集,聚类效果可能不佳。

2023-10-06 12:54:46 143 1

原创 C和CPP函数

函数的返回值(int void …)函数的名字(函数的形参列表);{函数的执行体}void表示函数没有返回值,或者没有形参return表达式 的含义1.终止被调用的函数,向主函数返回一个值(需要输出)。2.如果表达式为空,则只终止函数。不向被调函数返回任何值。函数返回值类型也称为函数的类型,return返回的值无论如何,只会返回函数类型的值。3.break 是用来终止循环和switch的,return 是用来终止函数的。例如void f()return;

2023-09-08 16:29:44 116

原创 VS的警告_CRT_SECURE_NO_WARNINGS

在使用 Visual Studio 进行 C/C++ 开发时,调用不安全的函数可能会引发内存泄漏等问题。为了解决这一问题,建议使用带 `_s` 后缀的安全函数,如 `strcpy_s`、`strcat_s` 等。然而,如果想继续使用不安全函数,有两种方法可以忽略 `_CRT_SECURE_NO_WARNINGS` 警告:在代码文件开头添加宏定义 `_CRT_SECURE_NO_WARNINGS`,或通过 Visual Studio 的属性设置中添加预处理器定义 `_CRT_SECURE_NO_WARNING

2023-06-02 12:49:37 7303 8

原创 C语言存储类型

本文主要介绍了 C 语言中的 const、static、extern、register 和 volatile 关键字的使用方法和作用,以及在实际编程中的应用场景。其中 const 表示只读的变量,static 表示生命周期设置到程序结束,extern 扩展全局变量作用域,register 让变量存储在寄存器中,而 volatile 主要是与编译器优化有关。同时,该文还介绍了 auto 在 C++11 中的使用方法,以及在 C 语言中一般指代非静态局部变量。

2023-05-20 23:44:40 74

原创 我的创作纪念日

写的最好的代码竟然是讲解语法的代码,好吧,还是多出语法解释吧。创作方面有缘再写吧,现在大家都用gpt。打算以后用AI写出一个个的开源程序,专为局域网而生的。bing搜索老是出现你CSDN,不来写篇文章不行啊。没人关注,无所谓了,能帮到大家就好。

2023-04-06 08:30:15 71 2

原创 cpp才有的模板

函数模板是通用的函数描述,也就是说,它们使用泛型来定义函数,其中的泛型可用具体的类型(如int或double)替换。C++的类模板为生成通用的类声明提供了一种更好的方法(C++最初不支持模板,但模板被引入后,就一直在演化,因此有的编译器可能不支持这里介绍的所有特性)。需要交换int的函数时,编译器将按模板模式创建这样的函数,并用int代替AnyType。同样,需要交换double的函数时,编译器将按模板模式创建这样的函数,并用double代替AnyType。2.可以设置为空模板类型,强制使用模板。

2022-12-01 22:45:05 61

原创 C语言时间函数

主要的结构体如下。// 秒 - [0, 60] including leap secondint tm_min;// 分钟 - [0, 59]// 时 - [0, 23]// 日期 - [1, 31]int tm_mon;// 月份从0开始 - [0, 11]// 当前时间减去1900// 星期 - [0, 6]// 从1月1号开始的日期 - [0, 365]// 夏令时时间两个简单的类型定义time_t。

2022-10-22 14:16:57 374

原创 C语言结构体

对于C语言结构体的简介

2022-09-30 19:40:06 271 1

原创 git的基本使用

git的基本使用,以及快速提交代码到github

2022-09-12 12:44:18 138

原创 string详解

c++的string最新详解

2022-08-24 14:48:04 240

原创 make&cmake

make和cmake处理

2022-08-19 19:46:24 394

原创 Linux安装环境配置

服务器开发

2022-07-27 11:50:47 317 1

原创 C++运算符重载

C++运算符重载的各种情况

2022-07-23 20:42:03 323 1

原创 c++functional

c++functional函数

2022-07-23 20:40:09 424

原创 c++numeric

c++numic,搭配algorithm等库更佳

2022-07-23 20:34:44 300

原创 c++algorithm

C++ algorithm用法详解

2022-07-23 20:21:52 1139

游戏开发,坦克大战资源,图片音乐

内容概要:该资源为静态游戏素材,包含丰富的图片和音乐资源,适用于游戏开发者在游戏中使用。 适用人群:该资源适用于需要美术和音乐素材的游戏开发者,特别是那些希望快速获取精美素材以节省时间成本的开发者。 适用场景和目标:该资源适用于各种类型的游戏开发需求,可以帮助游戏开发者更加轻松地创建出高质量的游戏画面和音效效果,提高游戏的品质和趣味性。 其他说明:该资源中的图片和音乐都经过精心筛选和制作,能够满足不同类型游戏的需求。该资源提供了多种不同类型的素材,如人物、场景、动物、自然元素等。同时,该资源也支持自定义选项,开发者可以根据自己的需求选择必要的素材和修改其属性。 适合C语言开发者,尤其是easyx的开发者。 本人保证该资源绝对不包含任何病毒和木马

2023-05-20

空空如也

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

TA关注的人

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