![](https://img-blog.csdnimg.cn/direct/4a58aa9ce4424dbd9688f36af580a508.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言
文章平均质量分 56
C语言基础
简易091
这个作者很懒,什么都没留下…
展开
-
【C语言】关于字符串函数的使用及模拟实现(1)
注意:在库函数中strlen的返回类型为suze_t(无符号整型),我们这里的返回类型为int型。由上可知,字符串追加的原理是找到所添加字符串的 \0 位置,再对其进行添加。使用strstr函数可以快速的定位到所查找字符串的地址。记录 ' \0 ' 之前的字符数。原创 2024-06-22 23:49:25 · 512 阅读 · 0 评论 -
【C语言】指针(4)
这里依然是和上面一样的问题,所以在swap交换的时候采用一字节一字节的交换方式,并以元素大小size为限制表示一个元素是否交换完成。--- 把一个函数的地址(指针)作为参数传递给另一个函数,当这个指针被用来调用其所指的函数时,就称它为回调函数。在函数内部,并不知道用户传递给我们的数据类型,所以根据最小的char类型以及待排序的元素大小size,来确定下一个元素的位置。在这之前,我们学习了很多关于指针的内容,我们先在这里简单的回顾一下。4、指针数组 -- 存放指针的数组,本质就是数组。原创 2024-06-06 14:52:39 · 957 阅读 · 0 评论 -
【C语言】指针(3)
如下:int * arr[ ]就是指针数组。存放指针的数组,本质就是数组。原创 2024-05-15 19:44:13 · 361 阅读 · 0 评论 -
指针(2)
第二次定义指针pp,因为右边是&p,p为int*型。所以是int* *pp。第一次定义指针p,因为右边是&a,a为int型。所以是int *p。本质是数组,存放指针的数组。(1)数组名为数组首元素的地址。得到两个指针之间的元素个数。*所代表的含义不相同。原创 2024-05-09 13:52:45 · 321 阅读 · 0 评论 -
指针(1)
(1) 地址(2) 存放在变量中的地址,指针变量。原创 2024-04-29 23:21:15 · 252 阅读 · 0 评论 -
操作符(2)
exp1成立,则执行exp2,返回exp2。exp1不成立,则执行exp3,返回exp3。&为取地址操作符(只在操作符右边有一个表达式,若两边都有表达式,则为二进制下的与运算)当 && 运算符有一边不成立(为0),则后面的表达式不必继续执行。当 || 运算符有一边成立(不为0),则后面的表达式不必继续执行。&&左右两边表达式都成立(不为0)则成立。|| 左右两边表达式成立一个即可成立。相当于一个if{ }else{ }语句。从左到右执行,最后返回最右边的表达式。. 为结构成员访问操作符。原创 2024-04-22 23:09:16 · 794 阅读 · 0 评论 -
操作符(1)
(非) +(正) -(负) ~(对一个二进制数按位取反) &(取地址) sizeof(操作数的类型长度(以字节为单位) ) ++(前置、后置) --(前置、后置)。例:2的二进制是:00000010,左移一位就是00000100,转为十进制就是4。| 后为00000011转为十进制是3。&后为00000010转为十进制是2。| (或): 特点: 有1则1。例:2的二进制是00000010。例:2的二进制是00000010。例:2的二进制是00000010。原创 2024-04-21 23:35:10 · 438 阅读 · 0 评论 -
数组(1)
因为此时定义的数组为int型(占4个字节),所以sizeof(arr)为整个数组占用的字节数,sizeof(arr[0])为数组第一个元素占用的字节,相除便会得到数组的长度。如下:与一维数组相同,在我们的理解中是一个三行五列的值,但在内存中仍然是一段连续的空间。首先,数组作为函数参数时不能仅仅将数组名(指向的只有数组的第一个元素)作为实参,还要将数组长度一并传递。//初始化时,行可以省略,列不能省略。// 数组下标是从0开始。由打印结果可以看出,创建的数组是一块连续的地址,每个数组元素占用4个字节。原创 2024-04-18 13:20:31 · 557 阅读 · 0 评论 -
函数(2)__递归
首先介绍一下这个函数,参数char* str指向arr数组的第一个元素,\0为数组最后一个元素。}是为了实参数组传递过来一个空数组,此时,直接返回0(没有字符)。程序首先找到main函数,按顺序由上往下执行,在printf中找到函数my_strlen(),进入my_strlen()。由于实参中是一个数组,代表的是数组中第一个字符的地址,所以在形参中我们用char*类型,最后我们需要返回的是整型,所以函数类型用int型。①:必须存在限制条件,满足条件时,不再执行递归。有点像这种感觉😐😐😐。原创 2024-04-14 20:59:55 · 262 阅读 · 0 评论 -
函数(1)
所以这个执行顺序为:将最里面的43打印完成后,printf函数的返回的是屏幕上字符的个数,此时为两个字符"43",第二个printf打印了一个字符"2",所以最后一个字符打印出"1"。// 在数学中,我们把常见的函数用表达式表示,再将这些表达式用图形的方式跃然纸上,用一个图形的扩大、缩小、拉伸就可表示很多函数。②传址调用:将主函数中的变量按取地址的方式传给形参,形参通过指针的方式接收,此时实参与形参有着更实质的联系,改变形参会对实参产生影响。形参(形式参数):外部函数的参数,用来接收实参传递过来的参数。原创 2024-04-14 01:05:38 · 340 阅读 · 0 评论 -
循环的重要性
在生活中,小到尘土、大到星海。几乎每个物体都在一个循环体内进行循环,间隙可大可小、时间可长可短。你还能当一个循环运行到自我满意的程度(或者会有极坏的情况,寻找一个借口(break)),便会去跳到另一个循环中。这其中难免会有些乏味,便可向领导(continue)请个小假,结束今天的工作,但不会有工资噢( 🙃 )。原创 2024-04-11 23:46:24 · 276 阅读 · 0 评论