- 博客(10)
- 收藏
- 关注
原创 C语言内存函数
函数memcpy从source的位置开始向后复制num个字节的数据到destination指定的内存位置。这个函数在遇到‘\0’的时候并不会停下来如果source和destination有任何的重叠,复制的结果都是未定义的。多余的空间用0补齐重叠的情况:arr+2:首元素地址向后移动两个元素,3,4会被1,2覆盖对于重叠的内存,交给memmove来处理memcpy函数的模拟实现memcpy函数拷贝结束之后,会返回目标空间的起始地址void*的指针什么地址都能接收。
2024-05-20 10:29:19
325
原创 认识指针(4)
如果你把函数的指针(地址)作为参数传给另一个函数,当这个指针被用来调用其 所指向的函数,被调用的函数就是回调函数。回调函数不是由该函数的实现方直接调用,而是在待定的事件或条件发生时有另外的一方调用的,用于对该事件或条件进行响应。两个整数可以直接使用(大于号,小于号)比较,但是两个字符串,结构体不能使用(大于号,小于号)比较。对于重复的代码,虽然执行计算的逻辑是有区别的,但是输入输出是多余的,可以进行适当的简化。void*base:指针,指向的是待排序的数组的第一个元素。库函数:底层使用的是快速排序的方式。
2024-05-15 15:08:31
212
原创 认识指针(2)
使用指针访问数组的内容时,我们使用了以下方法访问我们使用&arr[0]的方式拿到了数组第一个元素的地址,但要知道数组名本来就是地址,而且是数组首元素的地址。结论:数组名就是数组首元素地址但是有两个例外除此之外,任何地方使用数组名都表示首元素的地址。三个打印的结果一模一样,arr和&arr有什么区别呢这里我们发现&arr[0]和&arr[0]+1相差4个字节,arr和arr+1相差4个字节,是因为&arr[0]和arr都是首元素的地址,+1就是跳过一个元素。
2024-04-04 16:11:16
655
1
原创 认识指针(1)
要知道计算机CPU在处理数据的时候,需要的数据是在内存中读取的,处理后的数据也会放回内存中,就相当于一个仓库。可以把内存划分为一个个的内存单元,每个内存单元的大小取1个字节(1byte=8bit)。每个内存单元也都有编号(相当于门牌号),便于CPU的快速访问。生活中我们把门牌号叫地址,在计算机中我们把内存单元的编号也叫地址。C语言中给地址起的名字叫:指针。
2024-03-20 15:50:36
914
1
原创 认识与运用数组
数组是一组相同类型元素的集合;(1)数组中存在的是一个或者多个数据,但是数组元素个数不能为0.(2)数组中存在的多个数据,类型是相同的。数据分为一维数组和多维数组,多维数组一般比较多见的是二维数组。
2024-01-08 19:31:57
334
原创 初步认识函数
函数定义的一般格式数据类型 函数名(形式参数说明)//数据类型指函数返回值的类型,不能是数组,也不能是函数,可以是:char、int、long、float、指针或结构。函数的类型可以省略,默认为int类型。{ 说明语句执行语句形式参数说明的两种形式://函数定义的头部,进行形式参数说明{......}或://函数定义的头部,给出形式参数列表int x , y;//单独进行参数说明{......}用{}括起来的部分是函数的主体,称为函数体。
2024-01-06 14:25:04
915
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人