- 博客(34)
- 收藏
- 关注
原创 【C语言学习】C语言内存函数
通过上述内容,相信小伙伴们基本掌握了重叠内存之间数据拷贝的实现方法,上面两端代码介绍了重叠内存之间数据拷贝实现的逻辑,这也是我们模拟实现memmove函数的思路。刚才我们将arr2数组里面的内容拷贝进arr1里面去,而arr1和arr2是两块独立的空间,它们是没有任何关联的。memcpy函数可以处理不重叠的内存之间的数据拷贝,如果内存之间有重叠,就要用到另外一个函数——memmove函数。好了,以上就是本期博客的全部内容了,喜欢的小伙伴帮忙点点关注,你的关注和支持是我不断前行的动力。那具体是怎样比较的呢?
2023-11-27 00:27:07
1021
原创 【C语言学习】深入理解指针(4)
我们发现代码中那有没有什么方法来简化一下代码呢?答案肯定是有的,这就是我们今天要介绍的。那什么是回调函数呢?唉,别着急,我们还是先举一个例子,**如果我们把函数的指针(地址)作为参数传递给另⼀个函数,当这个指针被用来调用其所指向的函数时,被调用的函数就是回调函数。简单理解就是,
2023-09-16 00:00:37
72
原创 【C语言学习】深入理解指针(3)
之前我们学习了指针数组,指针数组是⼀种数组,数组中存放的是地址(指针)。那数组指针变量是指针,还是数组呢?答案是指针。1、整形指针变量: int* pint;存放的是整形变量的地址,是指向整形数据的指针。2、浮点型指针变量: float* pf;存放浮点型变量的地址,是指向浮点型数据的指针。那么数组指针变量存放的是数组的地址,是指向数组的指针变量。数组指针该怎么表示呢?一些小伙伴心想:数组的一般形式为int arr[10],那么。
2023-09-07 23:54:15
185
3
原创 【C语言学习】深入理解指针(2)
在这里我们使用 &arr[0] 的方式拿到了数组第⼀个元素的地址,但是其实运行结果:我们发现数组名和数组首元素的地址打印出的结果一模一样,数组名其实就是数组首元素(第⼀个元素)的地址。可能会有小伙伴会有疑问:如果数组名是数组首元素的地址,那下面的代码该怎么解释呢?运行结果:按照我们刚才的结论,如果arr是数组首元素地址的话,那输出的结果应该是4/8才对。这里怎么会打印40呢?出来以上两种情况,运行结果:三个打印结果⼀模⼀样,这时候可能又有小伙伴纳闷了:那arr和&arr到底有啥区别呢。
2023-08-23 22:01:29
78
原创 【C语言学习】深入理解指针(1)
所以Swap1是失败的了。那怎么办呢?我们现在要解决的就是当调用Swap1函数的时候,Swap函数内部操作的就是main函数中的a和b,直接将a和b的值交换了。那么就可以使用指针,
2023-08-17 23:34:15
134
原创 【C语言学习】详解操作符
我们经常能听到2进制、8进制、10进制、16进制这样的讲法,那是什么意思呢?其实2进制、8进制、10进制、16进制只是同一个数据的不同表达形式而已。而我们重点讲解2进制!首先我们还是从10进制讲起,它也是我们生活中经常使用的:1、10进制中满10进1。2、10进制的数字每⼀位都是0~9的数字组成。其实二进制也是一样的:1、2进制中满2进1。2、2进制的数字每⼀位都是0~1的数字组成。例如:1101就是⼆进制的数字!
2023-08-12 22:28:22
158
原创 【C语言学习】VS调试技巧
bug的本意是“虫子” 和 “臭虫”,但是现在⼀般泛指电脑系统或程序中,隐藏着的⼀些未被发现的缺陷或问题,简称程序漏洞。bug一词的发明过程是非常有趣的,它最早来源于一位美国海军电脑专家——格蕾丝·赫柏(Grace Murray Hopper)。上世纪40年代,计算机还是由继电器和真空管驱动的,机器有房间那么大。体现当时技术水平的MarkII,是由哈佛大学制造的一个庞然大物。
2023-08-02 23:41:50
133
1
原创 【C语言练习】扫雷游戏(含递归展开)
如果get_mine_count()函数的返回值为0,说明坐标周围没有雷,这时我们就可以利用递归函数Expand()进行展开。相反,如果get_mine_count()函数的返回值为非0,在show数组该坐标上显示雷的个数。
2023-07-31 22:21:57
154
原创 【C语言练习】100-200之间的素数(详解)
在解题之前,我们需要先了解什么是素数,可能不少小伙伴已经忘记甚至压根儿不清楚素数的概念。没关系,那么就让我来向大家简单介绍一下。素数也被称为质数,是大于1的自然数,除了1和它自身外,不能被其他自然数整除。例如,13、17、29等都属于素数。而我们需要做的就是去编写一个程序,让它帮助我们来找到100-200之间所有这样的数。
2023-07-30 19:14:27
1793
原创 【C语言学习】函数递归
程序调用自身的编程技巧称为递归( recursion)。什么是函数递归?一个函数在它的函数体内调用它自身,这种函数称为递归函数。执行递归函数将反复调用其自身,每调用一次就进入新的一层,当最内层的函数执行完毕后,再一层一层地由里到外退出。
2023-07-29 21:36:15
105
原创 【C语言学习】函数
如果库函数能干所有的事情,那还要程序员干什么?编程中更重要的是需要自己进行自定义函数。自定义函数和库函数一样,有函数名,返回值类型和函数参数。但是不一样的是这些都是我们自己来设计。statement;//语句项 } ret_type 返回类型fun_name 函数名para1 函数参数实例:写一个函数可以交换两个整形变量的内容。tmp = * pa;* pb = tmp;int a = 10;int b = 20;printf("交换前:%d,%d\n" , a , b);
2023-07-25 23:31:01
202
原创 【C语言学习】getchar和putchar
getchar是获取字符的C语言库函数。返回类型为int,参数为void。可能会有这样的疑问:getchar既然是获取字符的,为什么返回类型是int 呢?其原因如下。1、getchar返回的其实是字符的ASCII码值(整数)。2、getchar在读取结束或者失败的时候,会返回EOF(-1)。
2023-07-21 23:36:56
286
1
原创 【C语言练习】计算n的阶乘
计算n!主要有两种方法,首先通过for循环实现,另一种就是通过递归的方法实现。for循环实现起非常简单,下面重点讲解如何利用递归法实现。n!可以看作是n*(n-1)* (n-2)*…*1。把n!写成函数形式,即f(n),求n!的过程可以写成如下形式:f(1)=1;从上述过程可以看出,求f(n) 就需要调用f(n-1),求f(n-1) 就需要调用f(n-2)…它们都会调用同一个函数f,只是参数不同而已,即函数自己调用自己,这便称为递归。以n=5为例,其递归过程如下图所示。
2023-07-17 21:18:31
853
1
原创 【C语言学习】二分查找
二分查找(Binary Search)算法,也称折半查找算法。其针对的是一个有序的数组(单增或单减),每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或区间缩小为0。相比于其他算法,比如暴力求解,二分查找的效率是比较高的。
2023-07-16 20:41:06
187
1
原创 【C语言学习】编程中常用的语句
main() 函数内部是按顺序排列的一条条的指令和相关的数据,我们可以把这些指令和数据理解为我们向计算机发出的命令。在程序设计语言中,我们把这样的命令称为语句。
2023-07-11 01:41:58
2079
原创 【C语言学习】初识结构体
struct 结构名 {类型 变量名;类型 变量名;. . . } 结构变量;//学号 char name [ 20 ];//姓名 char sex [ 5 ];//性别 int age;//年龄 } stu [ 100 ];像上面这里,我们就定义了表示100个学生信息的结构体。如果没有结构体,我们可能要用400行代码才能表示完100个学生的信息,这就是结构体的好处。注意:结构体变量可以写可不写,但是后面的分号不能省略。匿名结构体:没有结构名,它只能使用一次,用过一次就不能再使用。
2023-07-05 23:31:13
82
1
原创 【C语言学习】初识指针变量
int * p;p = & num;上述中,int* 就被称为指针,也可以写作int *。int 说明p指向的对象是int 类型的,*说明p是指针变量。
2023-07-04 22:07:51
82
原创 VS编译器护眼模式设置
在打开的窗口中选择自定义颜色,设置“色调 = 85,饱和度 = 123,亮度 = 205”或者设置“RGB"分别为“199,237,204”首先在菜单栏中选择“工具”→ “选项”→ “环境”→“字体和颜色”→ “显示项”→ “纯文本”→ “项背景”→ “自定义”
2023-07-04 19:04:01
1123
原创 【C语言练习】交换两个数a和b值
引入一个中间变量c作为交换时的临时存储,相信这也是大多数人的第一想法。这种方法易于大多数人理解和接受,但是这种方法会使数据出现溢出。
2023-07-02 22:35:00
916
1
原创 解决VS编译器scanf函数报错问题
在代码最顶端输入#define _CRT_SECURE_NO_WARNINGS。缺点是每次写完代码都要在顶端加上这句话,不够方便。(注意:#define _CRT_SECURE_NO_WARNINGS一定要放在最顶端,否则依然会报错!int a = 0;int b = 0;return 0;
2023-06-24 18:59:45
1075
2
原创 【C语言学习】数据类型、变量及常量
枚举:顾名思义,就是一一列举,把可能的取值一一列举。例如我们生活中的性别有男,女,三原色有红绿蓝,这些都可以枚举出来。注:枚举常量的默认是从0开始,依次向下递增1。
2023-06-23 18:34:44
74
1
原创 【C语言学习】C语言介绍--visual studio 2013
计算机可以分为上层(应用软件)和底层(操作系统、驱动层及硬件层等),而C语言非常擅长底层的开发。因此,C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
2023-06-23 10:23:41
570
1
原创 编程初学者计划
学好编程是一个不断积累的过程,在每一次学习完我都要理清其中的原理,同时也会多看看别人的代码,读好的代码,不断优化自己的代码,让自己的逻辑更加通顺。每周花费多少时间:由于毕业后我也要开始从事本专业相关工作,所以学习的时间也会变少,但是我尽量每天都挤出2个小时左右的时间学习。同时,我也会在GitHub上去寻找其他编程者学习编程的方法。3. 学习完C语言,我也会按照C++、python、java的顺序对其他语言进行相应的学习。2. 通过编程学习,不断提升自己的编程水平,希望不久的将来可以写出属于自己的代码。
2023-04-12 15:24:07
55
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人