
C语言学习笔记
文章平均质量分 69
Whitesad_
这个作者很懒,什么都没留下…
展开
-
C语言中free()函数释放struct结构体中的规律
并不是什么新鲜的事情,不过值得注意。首先我们知道,在使用struct来定义并声明一个变量时,将会自动划分出一个连续的储存空间(虽然根据某些对其原则会出现内存间隙,但是大体上来说还是连续的)这一块连续空间将会包括结构体中的其他变量所需要的内存。就像这样。而free()函数的作用是对动态分配的内存进行释放,这也就意味着当使用free函数清空一个结构体时,只会清空这个大框里的内存,而不会对a,b...原创 2018-10-26 20:36:09 · 10850 阅读 · 2 评论 -
怎样定义函数指针数组
如果一个指针指向某个函数,那么它便是函数指针。有时候我们如果需要在一个循环中,每次调用不同的函数(这些函数的返回值和参数相同,函数名不同,实现不同),那么就可以使用函数指针数组来使代码更加简练和易读。那么,怎样定义函数指针数组呢?一、什么是函数指针在定义函数指针数组之前,需要首先知道什么是函数指针。函数指针的定义形象点来说,就是用一个指针变量代替原函数中的函数名位置。原函数int Add(...原创 2018-11-22 20:25:33 · 3300 阅读 · 1 评论 -
C语言中数组使用负数值的标记
在c语言中,我们经常使用的一个结构便是数组,在最开始学习数组的时候,它被描述成这样(以一维二维数组为例):一维数组是若干个数连续排列在一起的集合,我们可以通过0-N的标记(N为数组的长度)来访问每一个元素。二维数组则是一维数组的集合。所以在最开始我们对二维数组的概念是这样的:然后推而广之到三维数组很合理的,我们通过空间结构去类比数组的一维与二维,那么问题来了,在计算机当中它又是怎么“类...原创 2018-11-17 21:02:49 · 2406 阅读 · 0 评论 -
深入理解汉诺塔问题与递归
什么是汉诺塔问题相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置64个金盘(如下图)。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。...原创 2018-11-29 19:02:54 · 367 阅读 · 0 评论 -
深入理解CPP与C中bsearch函数的用法
·使用besearch函数的前提(一些废话)首先让我们先亮出二分法的定义:https://baike.baidu.com/item/二分法/1364267以及二分法实现的方法:https://blog.youkuaiyun.com/sufeiboy/article/details/54401257这些应该是使用二分查找前需要了解的知识,综上我们可以得出:使用besearch前应该先将目标数组进行一定...原创 2018-12-04 17:08:48 · 997 阅读 · 0 评论