自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 array与自己创建的静态数组的区别

C++的容器中提供了array即数组,但是我们一般很少用,而是一般用自己创建的静态数组如int arr[10],那么这两者有什么区别呢.同时二者还有一些其他的区别,如array是模版类,提供了一些更便捷的方法,以及array可以直接赋值,而静态数组不能直接进行赋值操作等。同时我们要注意的是,编译器对于这种静态数组没有进行越界读的检查,也就是当我们cout << arr1[10]时,这说明编译器对这个arr1的越界写检查是一种抽查 并不一定是越界写就会报错。当然我们这里主要讲的是越界检查和安全性的问题。

2025-04-12 18:29:56 183

原创 vector中的迭代器失效

在模拟实现vector的时候,我遇到了两种迭代器失效的情况。

2025-03-22 10:38:54 259

原创 一文带你搞清C语言文件操作

根据数据组织形式,文件分为文本文件或二进制文件在内存中以二进制的形式存储,不加转换输出到外存的文件中,就是二进制文件如果在外存上要以ASCII码形式存储,则需要在存储前转换,这种方式存储的文件就是文本文件。

2024-09-29 17:10:54 915

原创 动态内存管理

如果我们先释放p,那么p指向的这个结构体的空间就不能被访问了,我们也就不能通过p访问结构体成员int*arr 然后释放arr 那么这时候p->arr就不能被释放,会给程序带来隐患,因此我们必须先释放p->arr 再释放p 记得还要都置为空指针。在我们释放该空间之后,这块空间的使用权限还给操作系统,但是p依然指向这块空间,只不过不能再访问这次空间了,等下次操作系统重新分配空间,p很可能会成为野指针,在程序运行中很危险,因此我们有必要在释放后将p置为NULL。

2024-09-24 15:00:11 644

原创 冒泡排序与qsort函数

qsort函数是库函数,可以直接使用。qsotr函数是一种快速排序的方法并且qsort函数可以排序任意类型的数据。上面介绍的排序方法存在一定问题,因为并不是所有的数据类型都能直接使用> <等比较符号来直接比较,而同时交换变量时到底创建什么类型的变量也是一个未知的问题,因此我们用到qsort函数。这是cplusplus.com官网给出的qsort函数的介绍我们来分析一下其参数以及返回类型。

2024-09-23 10:53:20 1177

原创 C语言指针详解(四)

字符指针的类型为 char* 我们一般用其来接收字符的地址如图所示,我们可以像其他指针一样进行最基本的操作 不过,字符指针不是只能针对字符,对于字符串,我们来看很多人会误以为,p得到的是整个字符串的地址,但本质上其得到的是首字符地址这里的意思其实是p里面得到字符串第一个字符H的地址,然后在打印时以这个地址为起始开始打印,直到遇到‘\0’结束,字符串是以'\0'为结束标志的 因此此处打印整个字符串注意:字符串是常量,不能修改其内容。

2024-09-20 15:03:43 1443

原创 C语言指针详解(三)

本节我们主要讲述数组和指针之间的关联,包括指针访问数组,一维数组传参,二级指针,以及指针数组和用指针模拟二维数组等。

2024-09-17 22:13:19 747

原创 求字符串长度strlen函数的三种模拟实现

这是cplusplus官网的strlen介绍我们可以看到 其参数类型是一个const修饰的字符指针类型 返回类型为size_t 功能是得到字符串长度,返回值是C语言字符串长度 接下来我们试着模拟实现一下。

2024-09-17 15:19:45 465

原创 传值调用与传址调用

正确的理解:x和y是两个形参 他们在接收到a和b传过来的值后,在函数内部创建了空间用来存放a和b的值 那么新创建的这两块空间地址和原来a和b的地址肯定不一样 我们现在只是对新创建的这块空间里面的值进行交换,因而对a和b没有影响。那么我们想要对a和b改变的话,需要找到他们的地址,那么在函数传参的时候接收的就应该是a和b的地址,这样就能对a和b进行操作了。按理来说,我们将a和b分别传给x和y两个形参然后在函数里面交换变量,但实际上这种方法只是将a和b的值传给了x和y。写一个函数:交换两个变量的值。

2024-09-17 14:37:45 268

原创 C语言指针详解(二)

本节接上节内容主要讲述指针使用存在的问题————野指针以及如何规避野指针。

2024-09-17 12:34:16 435

原创 C语言指针详解(一)

所谓指针,初学者可能会认为很高级,通俗来讲,指针就是个地址。那么指针变量,就是存放地址的变量。拿生活中的例子来举例,把几件不同的东西分别放在特定编号的柜子里,那么每个柜子就是存放这些东西的容器,柜子就是一个指针变量,可以通过编号的柜子找到存放的东西。那么,在程序中,我们创建了变量,就是向内存申请一块空间,当我们要用的时候怎么在计算机内存中找到这个变量呢,可以通过指向该变量的指针来寻找,这个指针存放了变量的地址。如和创建和使用指针变量呢 我们一一来看。

2024-09-17 10:47:27 928

原创 基于数组和函数的简易扫雷游戏实现

扫雷游戏的分析及设计。

2024-07-26 22:13:53 1573

原创 数组的简单介绍

C语言数组简单介绍

2024-07-24 22:43:51 1717

原创 C语言分支循环语句的简单介绍

根据expression的值找的相应的case值进入程序 若表达式结果于case分支均不一致 则执行default分支 default语句可以在switch语句里面的任意位置。当然若几个case分支对应的语句相同(即结果相同)可以将前面的case分支的语句省略 只留case value 直到最后一个相同的case分支再写对应语句 此处不再示例。***同时常见while(scanf()!***注意:switch后面的表达式必须为整型表达式 case后面的值也必须为整型常量表达式。

2024-07-19 18:48:32 1925

原创 初踏IT路

目前正在学习C语言的基础知识,我计划在这个假期迅速补上基础,在开学时好及时跟上学习节奏。同时我很希望在另外的空余时间学习别的语言知识如Python,C++等都是我感兴趣的东西。在未来的时间,充分利用各种资源学习,相信自己可以掌握很好的技能。同时,我也计划在大三下准备考研,在这条道路上迈出更远的步伐。虽然刚开始接触这个领域,但我能明显感受到我对这个领域的兴趣及热情。这里是一个刚接触计算机领域的小白,简单谈谈我对接下来的学习规划以及小目标。欢迎大家一起见证我的成长,嘿嘿嘿!

2024-07-12 20:46:16 175

空空如也

空空如也

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

TA关注的人

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