自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用C语言实现三子棋

我经过完成这次三子棋小游戏,学会了很多思维,一步一步慢慢的实现整个小游戏,整个小游戏的代码都是基础的循环和函数构造而成的,并没有想象中连看都没看到过的函数的,平常玩三子棋的时候不觉得什么,真正自己写一遍代码才发现,这些小游戏的代码也不是想象中的简单,第一步就可能让人不知道从哪里下手,掌握了思路后慢慢的写出完整的代码并运行成功后,才能感受到语言的魅力。有些地方是挺巧妙的,比如说对棋盘的构造就是用' - '和' | '来完成的,感兴趣的建议自己还是去敲一下整体的代码,而不是复制粘贴,C语言是个很有趣的语言。

2024-05-20 17:27:38 135 1

原创 常见的动态内存错误

进行p++操作会使p指向的首地址向后一位,如果再进行free释放空间操作会出错,用free释放动态开辟内存的一部分空间和释放不是动态开辟的空间都会出错,free只能用于释放动态开辟的整个空间。此时会一直进行malloc开辟动态空间,此时会导致内存泄漏出现错误,计算机的内存是有限的,可能会导致内存被耗干了,服务器就可能崩溃了。如下面代码malloc(40)开辟了10个整型空间,for循环时i可以到10,但是开辟空间只有0-9这10个数,10是第11个数,越界访问了会出现错误。2.对动态开辟内存的越界访问。

2024-05-15 08:51:47 201

原创 动态内存分配

2.原有空间之后没有足够大的空间,则realloc函数会重新找一个新的内存区域,开辟一块满足需求的空间,并且把原来内存中的数据拷贝回来,释放旧的内存空间,最后返回新开辟的内存空间地址。3.返回值的类型是void*,所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己来决定。1.函数功能是为num个大小为size的元素开辟一块空间,并且把空间的每个字节初始化为0。1.如果参数ptr指向的空间不是动态开辟的,那free函数的行为是未定义的。1.如果开辟成功,则返回一个指向开辟好的指针。

2024-05-10 14:41:10 133

原创 枚 举和联合体

我们也可以使用#define定义常量,为什么非要使用枚举呢,2.和#define定义的标识符比较枚举有类型检查,更加严谨。显而易见在需要很多个对象时,枚举方便很多。5.使用方便,一次可以定义多个常量。1.增加代码的可读性和可维护性。3.防止了命名污染(封装)

2024-05-09 11:31:45 153 1

原创 结构体的内存对齐

下面代码就是嵌套了一个结构体,struct s2的整体对齐数为16它的最大对齐数为8,所以在char之后浪费了7个字节然后存放它,struct s3的整体大小为32是嵌套结构体对齐数的整数倍。下面代码中#pragma pack()括号中的数字就是你想要设置的默认对齐数,我设置为1,求出来的sizeof(a)结果为6,而在没设置默认对齐数情况下结果为12。如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数整数倍处,结构体的整体大小就是所有最大对齐数(含嵌套结构体的对齐数)的整数倍。

2024-05-08 11:39:56 132 1

原创 模拟实现strlen函数、strcpy函数、strcat函数、strcmp函数、strncpy函数、strstr函数

下面这个代码可以实现strlen函数,size_t相当于是unsigned int表示无符号整型 用strlen函数时千万不能写成char arr[]={'a','b','c','d','e','f'};这样写是错误的,代码运行出来是随机值,因为strlen是找到'\0'才停止,这样写的话得一直往后找,直到找到'\0'为止。strcpy函数(1)源字符串必须以'\0'结束。(2)会将源字符串中的'\0'拷贝到目标空间。(4)目标字符串必须可变。strcat函数(1)源字符串必须以'\0'结束。

2024-04-25 15:12:04 225 1

原创 旋转字符串

总结:理解后发现两个方法都很巧妙,非常考验思维能力。

2024-04-24 11:51:35 179

原创 杨 辉 三 角

总结:主要是要把握住思维,怎么想这个题目,一步一步去处理,每个题目其实都有所规律,找到这个规律再做起来会很快,杨辉三角是个经典的数学题目,用计算机计算会很便捷很快,这里我只打印了十行十列,也可以打印更多,修改下条件即可。杨辉三角是个数学题,用代码的形式打印出来,它的两边全为1,从第三行第二个数开始是上一行的数和上一行前面那个数相加。

2024-04-24 09:03:59 202

原创 用C语言打印菱形图案

主要是要理清思路,需要打印空格和*,分开打印上部分和下部分,最重要的是要理解循环里面的条件,i和j的条件,这样才能运行出自己想要的菱形图案。

2024-04-19 19:43:30 234

原创 用函数逆序字符串

【代码】用函数逆序字符串。

2024-04-19 12:38:50 120

原创 冒泡法排序

用qsort库函数进行比较更快,void*类型的指针可以接收任意类型的地址,但是不能进行解引用操作和+-整数的操作。

2024-04-17 09:36:53 104

原创 用函数运算简单数学算术

用函数指针数组写更方便,且再加入其它算术时只要改变menu菜单和if里面input的条件。总结:显然第二个方法能方便和实用,在需要写大量运算时,能更简洁的写出所需的代码。

2024-04-15 10:53:48 174

空空如也

空空如也

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

TA关注的人

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