自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL存储过程和触发器

存储过程是一组为了完成特定功能的SQL语句集,经过编译后存储在数据库中。用户通过指定存储过程的名字和参数来执行,并获取相应的结果。用户自定义变量是在SQL会话中定义的变量,不用提前声明,作用域为当前会话触发器是与表关联的数据库对象,在对表进行INSERT、UPDATE、DELETE操作时,触发并执行指定的SQL语句触发器类型OLD和NEW关键字INSERT触发器NEW表示将要或已经新增的数据UPDATE触发器OLD表示修改前的数据,NEW表示修改后的数据DELETE触发器。

2026-01-06 13:50:26 554

原创 MySQL基础

合并多个select的执行结果,可以使用集合操作符 union,union all 使用UNION和UNION ALL 时,前后查询的结果集中,字段需要一致。需满足:使用GROUP BY进行分组查询时,SELECT指定的字段必须是"分组依据字段",其他字段若想出现在SELECT中则必须包含在聚合函数中。GROUP BY字句进行分组后,需要对分组结果再进行条件过滤时,不能使用WHERE语句,而需要使用HAVING。开发中数据可能来自不同的表,所以需要多表联合查询。多表查询是对多张表的数据取笛卡尔积。

2025-12-31 12:40:42 637

原创 Redis

Redis是一个开源的、基于内存的键值对存储系统,通常被用作数据库、缓存和消息中间件。数据主要存储在内存中,读写速度极快,也支持持久化到磁盘。Redis支持多种数据结构,包括:字符串(String)哈希(Hash)列表(List)集合(Set)有序列表(Zset)RDBAOF数据结构和丰富的功能,成为现代应用架构中不可或缺的组件。

2025-12-21 22:34:50 931

原创 计算机中信息的存储

现代计算机存储和处理的信息以二值信号表示。这些微不足道的二进制数字,或者称为位(bit),形成了数字革命的基础。大部分的计算机使用的是8位的块,或者字节(byte),作为最小的可寻址的内存单元,而不是访问内存中单独的位。机器级程序将内存视为一个非常大的字节数组,称为内存的每个字节都由一个唯一的数字来标识,称为它的,所有可能地址的集合就称为。

2024-03-19 19:37:47 539 1

原创 字符分类函数

在编程中,时常需要将字符根据其属性进行分类,比如:是否为数字、字母、特殊符号,那么这时候我们就可以用字符分类函数来对其进行分类。字符分类函数提供了一种简便和高效的方式来处理和分类字符,能够简化复杂的字符处理任务,提高代码的可读性、可维护性和安全性。空白字符:空格' ',换页'\f',换行'\n',回车'\r',制表符'\t'或垂直制表符'\v'十六进制数字,包括所有十进制数字字符,小写a~f,大写A~F。任何可打印字符,包括图形字符和空白字符。字母或数字a~z,A~Z,0~9。

2024-03-18 22:07:07 719 1

原创 指针(六)

总的来说,回调函数是一种灵活的机制,可以让我们在程序中动态地定义并实现特定的功能,从而实现更加模块化和可扩展的代码结构。qsort是C标准库中的一个函数,用于对数组或其他数据集合进行快速排序操作,其原型定义在stdlib.h头文件中。在这个示例中,我们使用qsort函数对整数数组进行排序,排序规则由自定义的compare函数定义。如果操作数是类型的时候,计算的是使用类型创建的变量所占内存空间的大小。回调函数指的是在某个特定事件发生时由另一个函数调用的函数。如果没有\0会持续向后找,可能会发生越界。

2024-03-17 15:58:22 532 1

原创 指针(五)

是把字符串中首字符的地址放到了p中。二维数组传参本质上是传递了地址,传递的是第一行一维数组的地址,即二维数组中的第一个元素的地址。函数也是有地址的,那么函数指针变量顾名思义就是存放函数地址的变量。是一种指针类型,存放的是数组的地址,能够指向数组的指针变量。二维数组传参,形参的部分可以写成数组,也可以写成指针的形式。但对于数组指针和函数指针的重命名就稍微有点区别了。在指针的类型之中有一种是字符指针char*;存放函数地址的数组就叫函数指针数组。例如:计算器的函数指针数组的实现。是一种存放指针的数组。

2024-03-15 20:01:48 679 1

原创 指针(四)

在模拟实现strlen之前我们需要知道strlen具体是怎么做的——参数str接收一个字符串的起始地址,然后开始统计字符串中\0之前的字符个数,最终返回长度。parr[i]是访问parr数组的元素,parr[i]找到的数组元素指向了整型一维数组,parr[i][j]就是整型一维数组中的元素。在实惨传递给形参的时候,形参有自己独立的空间,形参是实惨的一份临时拷贝,对形参的修改是不会影响实参的。我们知道,整型数组,是存放整型的数组,字符数组是存放字符的数组,那么,指针数组就是存放指针的数组。

2024-03-13 18:39:25 369 1

原创 指针(三)

我们可以清楚的看到n在这里确实是被修改了,但是,这样做打破了const的限制,那const就没什么意义了,所以我们应该让p拿到n的地址也不能修改n,那我们应该怎么做呢?在上述代码中,在函数被调用时,形参被创建,而函数结束之后,形参会被销毁,内存被释放,此时指针所指向的空间就被释放了,这时的指针就是野指针。在上述代码中,m可以被修改,而n不可以被修改,n的本质是变量,只是被const修饰之后,被加上了限制,所以我们没办法直接去修改n。const修饰指针变量,在*的左边和在*的右边,意义是不同的。

2024-03-12 21:31:43 1761 1

原创 指针(二)

void*指针是指针类型中特殊的一种类型,我们可以将其理解为无具体类型指针(或者叫泛型指针),它可以用来接受任意类型的地址,但相对的,它不能用于进行指针的+-整数和解引用运算。我们可以看出,char*类型的指针变量+1是跳过1个字节,而int*类型指针变量+1跳过4个字节,这就是指针类型的不同带来的变化。一般void*类型的指针是使用在函数参数部分的,用于接受不同类型数据的地址,使得一个函数来处理多种类型的数据。比如:char*的指针解引用只能访问一个字节,而int*的指针解引用能访问4个字节。

2024-03-10 19:40:30 322 1

原创 指针(一)

在32位机器有32根地址总线,每个线只有两态,表示0,1【电脉冲有无】,那么一根线,就能表示2种含义,2根线就能表示4种含义,依此类推。代码中就使用了解引用操作符,*pn的意思就是通过pn中存放的地址去找到n的空间,而*pa就是a变量,所以*pn=0,就是把n改成0.地址信息被下达给内存,在内存上,就可以找到该地址对应的数据,将数据在通过数据总线传入CPU内寄存器。注意指针变量的大小和类型是无关的,只要指针类型的变量,在相同的平台下,大小都是相同的。指针是C语言中的一个重要概念,也是C语言的一个重要特色。

2024-03-09 21:38:25 477 1

原创 查找杨氏矩阵中是否存在某数

有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,在这样的矩阵中查找某个数字是否存在。可以从矩阵右上角开始查找,如果小于目标数就向下移动,大于目标数就向左移动。这种方法的时间复杂度为O(m+n),m是行数,n是列数。

2024-03-08 22:58:02 188 1

原创 实现一个函数,可以左旋字符串中的k个字符

一次一次转太麻烦,想进行一步到位,我们还可以。设计循环使其可以旋1次,然后让他执行n次。ABCD左旋一个字符得到BCDA。ABCD左旋两个字符得到CDAB。

2024-03-03 17:03:35 235

原创 调整数组使奇数全部都位于偶数前面

输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。都找到了对应的数据,则交换,继续a。从前往后找,找到第一个偶数后停止。从后往前找,找到第一个奇数后停止。放在数组中最后一个元素的位置。]有效,进行b,否则结束循环。放在数组的起始位置,

2024-03-02 21:21:19 179 1

原创 C语言中用for语句实现循环

在不少的实际问题中,我们需要用到一些具有规律性的重复操作,因此在程序中就需要重复执行某些语句。在C语言中,有三种循环语句:for、while语句和do while语句。在这篇文章中,我们简单探讨一下for循环语句。如下图,就可以简单运用for循环来打印0~10的整数。表达式2:用于循环结束条件的判断。表达式1:用于循环变量的初始化。表达式3:用于循环变量的调整。

2024-01-27 22:47:56 193

原创 学习编程的开始

我是一名计算机科学与技术专业的学生,在学校开设的C语言课程中开始对这个方面有了浓厚的兴趣,即使前方困难重重,我也有信心能做好。1.循序渐进的学习C/C++及以后的内容,将其熟练掌握。除了上课的内容每天需要拿出2h+来学习编程。3.可以从别人的优秀代码中获得需要的技巧。学好C/C++语言,找到一份好的工作。4.学到东西之后写博客加深对其的印象。2.每天坚持去写代码。

2024-01-16 20:31:55 367

空空如也

空空如也

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

TA关注的人

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