指针
文章平均质量分 69
'Skrrapper
C/C++领域创作者、CSDN校园主理人、阿里云专家博主
编程之大,无奇不有。让我们共同学习,一起进步!
展开
-
指针(6)---qsort函数
qsort函数是一个排序函数,它是基于快速排序的算法来排序的。qsort是一个库函数,是可以直接拿来使用的。.h。原创 2024-01-24 16:31:06 · 390 阅读 · 0 评论 -
指针(4)---转移表
其次我们可以注意到原先向纵向延伸的一系列选择(加减乘除)变为了横向延伸,函数指针数组可以使得函数在数组内元素变化的情况下直接被使用,这也脱离了switch语句的限制。这种做法相当于使用switch语句来达到分支选项的实现,但是我们认为该代码的可读性以及长度都可以进行优化。我们可以使用一个函数指针数组(也就是一个转移表)来优化它。提高代码的可读性和维护性,也就是使得代码更加“好看”。现在要求写一个关于计算器的代码用于基本的四则运算。总而言之,操作表的使用可以大大提高程序的执行效率。原创 2024-01-23 23:31:51 · 482 阅读 · 0 评论 -
指针(3)---不同指针变量
需要注意的是,这里的两个参数名通常是可以去掉的,因为它们实际上作用不大,我们使用函数指针变量的主要目的是将这个函数存放起来。因为函数的地址就是函数名的地址,无需再使用解引用操作来调出函数的地址,它本身就已经得知了。总结:这些看似很复杂的代码,如果我们不了解函数指针的知识的话,是很难理解的。在上述代码中,通常在主函数中调用这个函数时我们会忽略这个函数的类型其实是。在使用的过程中,我们就可以使用重命名后的名字来代替原本冗长的名字,当常量字符串出现在表达式中时候,它的值也就是第一个字符的地址。原创 2023-12-19 12:31:30 · 984 阅读 · 2 评论 -
指针(2)--指针与数组
先看一个案例在这个代码中,我们提取了数组的首字母的地址和数组名来进行打印,结果是这样的:可以发现它们两个的地址是相同的,所以我们可以得出在通常情况下,数组名表示的就是数组首元素(第⼀个元素)的地址。再来看一个案例:在这个代码中,我们打印sizeof(数组名),结果是这样的:理论上来说如果数组名是数组首元素的地址,那打印出来应该是4或8也就是一个元素所占的字节,但这里却是40。原创 2023-12-11 20:36:55 · 1128 阅读 · 0 评论 -
指针(1)--对于指针基本概念的介绍
野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的),相当于野指针指向了一个未知门牌号的房间,一切都是未知危险的。原创 2023-12-04 17:25:06 · 973 阅读 · 0 评论 -
指针(7)---*和&的区别
在C语言中,和都是用于操作指针的符号。是取地址运算符,用于获取变量的内存地址。例如,&a表示变量a的地址。是指针运算符,用于获取指针所指向的变量的值,也就是我们常说的解引用。例如,*ptr表示指针ptr所指向的变量的值。因此,&和*是互为逆运算的符号,&用于获取变量的地址,*用于获取地址所指向的变量的值。在这里我们可以运用strlen和sizeof所对应的数据的打印来辨别其不同。原创 2024-02-02 17:19:31 · 532 阅读 · 0 评论 -
指针(5)---回调函数
回调函数通常作为参数传递给其他函数,它是一个通过函数指针调用的函数。简单来说这个函数的作用就是用来在特殊的条件满足时用来调用其他函数的一个函数。原创 2024-01-24 14:16:26 · 339 阅读 · 0 评论