- 博客(25)
- 收藏
- 关注
原创 C语言自定义数据类型详解(二)——结构体类型(下)
offsetof是一个宏,有了offsetof我们的用户,只需要给出一个结构体,然后再给出这个结构体的一个成员变量,你就可以获得:这个成员变量距离结构体起始位置的偏移量。然后如果你想使用这个宏,请struct S3char c1;int i;char c1;int main()printf("struct S4 的i 的相较于起始位置的偏移量:%zd\n", offsetof(struct S4, i));
2025-01-28 20:15:00
1930
原创 C语言自定义数据类型详解(一)——结构体类型(上)
在正式阐述这个问题之前,我们先来认识一个C语言里面的关键字typrdef我们说typedef是C语言里面的一个关键字,它的作用就是用来给一个数据类型起别名的。注意这里起别名的含义,起了别名并不代表你前面那个类型的名字你用不了了。int main()//以下都是在定义int类型的变量:int x = 0;return 0;//数据结构————链表的声明int val;}ListNode;int mian()
2025-01-24 18:11:48
1809
1
原创 和字符串有关的经典OJ题——字符串的逆置和字符串的翻转
上面这个过程可以用下面这个图进行形象描述:(图中的数字表示步骤,比如1表示步骤一)这样,你要逆序下面的b c d e只需要让str++(字符串首元素地址往后走一步)就可以了,后面同理。那什么时候结束呢?和前面一样当首尾元素中间只有一个元素或者没有元素就结束了。这个方法只需要你传一个参数过来就可以了。
2024-09-02 22:08:26
869
原创 C字符串和内存函数介绍(四)——内存函数
函数原型:函数名功能描述头文件memcpy进行各种数据类型的内存拷贝(不重叠的参数说明:dest表示目标空间的起始地址。sour表示源空间的起始地址。num表示用户希望拷贝的字节数目。函数最终的目的是将源空间sour里前num个字节的内容,拷贝到目标空间dest里面。返回值说明:最后返回目标空间的起始地址。函数名功能描述头文件memmove进行各种数据类型的内存拷贝(重叠的参数说明和返回值说明同memcpy函数。函数原型:函数名功能描述头文件memset以字节。
2024-07-20 03:00:13
1042
原创 C字符串和内存函数介绍(三)——其他的字符串函数
函数原型:函数名功能描述头文件strstr在str1字符串查找str2字符串返回值说明:返回一个指针,该指针指向了str2在str1中首次出现的位置。如果str2不在str1里面,则返回一个NULL指针。函数原型:函数名功能描述头文件strtok按照指定分隔符对字符串进行切割参数说明:(一)第一个参数str是待分割字符数组的首元素的地址,另外值得一提的是strtok函数会修改str的内容,所以要求str的内容必须是可以被修改的。
2024-07-15 03:12:56
830
原创 C字符串和内存函数介绍(二)——长度不固定的字符串函数
函数原型:函数名功能描述头文件strncpy将source中前num个字符拷贝到目标空间中返回值说明:返回的是目标空间的地址。函数原型:函数名功能描述头文件strncmp从左到右依次比较str1和str2的前num个字符的ASCLL码值返回值说明:是一个整数,用于表示str1和str2的大小关系。详情见下表:含义0表明str1 > str2函数原型:函数名功能描述头文件strncat将source。
2024-05-27 17:58:16
967
原创 2022年蓝桥杯国赛A组真题——选素数
今天不讲知识点,给大家分享一道蓝桥杯数论的真题——选素数。个人觉得是一道非常经典的,同时通过这个解题过程相信可以加深我们一些关于算法优化的理解,小伙伴们在看博主解题可以尝试自己先做一下。注:以下讲解是纯白话讲解,纯C语言解题,分层次进行分析,哪里卡脖看哪里,小白也能学,安全易吸收!
2024-05-11 02:56:50
1295
4
原创 指针中关于“指针被错误使用场景”的系统总结:
C语言提供了指针,给予了C/C++用户在写程序时访问计算机时最大权力,这是相比其他的Java,Python主流编程语言它最大的优势所在。让它在嵌入式开发,操作系统领域有着广大的应用市场。但是权力也不能滥用,如果你错误地去使用指针,会有很严重地后果。那对于初学者而言,有那些使用指针时的常见错误呢。我们现在来一一了解一下,具体是怎么一回事。
2024-05-09 00:32:44
912
原创 指针中关于“数组传参”的系统总结
数组传参形参部分可以写成数组的形式,这是毫无疑问的。其次数组名表示的数组首元素的地址,既然是地址就可以有对应的指针类型接收,所以数组传参形参的部分还可以写成指针的形式。现在我们分别从。
2024-04-27 11:54:00
799
原创 细谈C语言指针第四篇目——特殊的指针与回调函数
有前面对于数组指针分析的铺垫,我想大家对于上面的分析理解起来也问题不大。只不过现在有一些小伙伴的问题可能又来了:那你曾经说过,我们的指针类型决定了一个指针加一或减一操作可以跳过多少个字节,那一个函数指针加一或者减一会跳过多少个字节的空间呢?有小伙伴可能想着想着就回去测试了一下,诶,你会发现。
2024-04-25 02:07:27
1024
1
原创 细谈C语言指针第三篇目——数组及数组和指针联系
首先我们先来给大家简单介绍一下C语言中数组的概念及其周边知识:一组相同类型元素的集合。“一组”说明了数组可以一次性定义和存储一系列数据元素,“相同类型”则揭示了数组元素在数据类型上的统一性原则。类型 数组名[数组大小];//这是一个int类型的数组,数组可以存放10个元素,每个元素是int类型。//这是一个float类型的数组,数组可以存放5个元素,每个元素是float类型。这里的数组的大小就是数组能存储数据元素的多少。
2024-04-01 12:40:20
937
1
原创 数据在计算机中的存储方式(三)——浮点数在计算机中的存储方式
然后这篇浮点数在计算机中的存储,限于作者的知识水平,所以只是带着大家揭开了一点点它的·面纱。很多的内容并没有给大家讲清楚,比如精度的问题,浮点数的比较和数据的取舍等等……如果大家感兴趣,推介一本非常经典的书籍叫做《深入理解计算机系统》,这本书带着大家详细探究了计算机中的这些底层逻辑的东西。看完之后,我相信你会大有收益的。不过这本书阅读起来也确实有点难度,可以在日常学习和生活中慢慢去研读。我们一起加油,与君共勉😊!
2023-11-29 01:00:02
1173
3
原创 数据在计算机中的存储方式(二)——整数在计算机中的存储进阶篇
C语言中能直接对存储在计算机内部整数二进制形式进行操作的运算大体分为以下两大类:位操作符和移位运算符:1.1:位操作符位操作符的运算规则一览&(按位“与”)对应二进制位上,有0则为0,同时为1才为1;|(按位“或”)对应二进制位上,有1则为1,同时为0才为0;^(按位“异或”)对应二进制位上,相同为0,相异为1;注意:位操作符的操作对象只能是整数!1.1.1:& 按位“与”
2023-11-26 23:40:44
895
3
原创 数据在计算机中的存储方式(一)——整数在计算机中的存储初阶篇
整数类型整数类型的大小(Byte:字节/bit:比特)char(字符类型)short(短整型)int(整型)long(长整型)long long(更长整型)char类型在内存中存储的是字符的ASCLL码值,因此也是属于整型的范畴。long类型的空间大小具体是多少,这取决于编译器:最小不低于4个字节,最大不大于8个字节一个二进制位占据1bit位的空间,这是个很重要的概念哦!
2023-11-04 20:11:00
712
6
原创 C语言中实现两个变量值交换的三种方法
方法一适用于几乎所有数据类型,需要设置中间变量,不需要考虑数据值的越界问题;方法二适用于几乎所有数据类型,不需要设置中间变量,需要考虑数据值的越界问题;方法三只适用于int类型的数据类型,不需要设置中间变量,不需要考虑数据值的越界问题。
2023-09-26 22:33:21
12220
原创 C语言初阶应用之扫雷
这里给大家展示一个扫雷游戏网页版,如图一所示:(图一)棋盘中有数字,有空白区域,有未知区域,空白区域和图一中的数字都是属于无雷的安全区域,那图中数字有啥含义呢:它表示以它为中心周围的八个坐标中雷的个数,而边界不及八个的则统计的就是以它为中心周围五个坐标中雷的个数。同时在网页版的扫雷游戏中玩家可以在他认为是雷的位置标记一个旗帜,而在这里我们就不做这一功能的实现了。
2023-09-24 04:00:41
238
2
原创 用初阶C语言知识实现游戏“三子棋”:手把手教你程序设计思路
这篇博客将从游戏界面,初始化棋盘,展示棋盘,玩家下棋,电脑下棋及判断输赢等多个维度给大家去介绍游戏三子棋的实现,是一个比较适合C语言初学者的游戏项目
2023-09-09 03:27:45
299
1
原创 #define:对象式宏和函数式宏的使用
我们经常所说的“宏”也是指“对象式宏”,其定义的一个常见的格式为#define NAME 12。也就意味在NAME就代表着数字12,我们用printf输出函数输出NAME就可以在屏幕中得到数字12。return 0;“函数式宏”也是被#define所定义的,而且大家发现了没有,它和函数有一个非常相似的方面,它一般也是有参数的,那么它和我们的函数有什么的不同呢?
2023-08-30 01:27:10
1039
原创 课题:如何实现利用while循环和scanf输入函数实现多组输入
在cpp reference官网上面你可查询到,scanf函数是有返回值的,它的返回值是int类型,这个返回值如何确定呢,分为一下两种情况:1.通过scanf正常读取到数据,此时scanf的返回值总是与它读取到的数据个数保持一致。return 0;
2023-07-27 10:57:11
779
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人