- 博客(7)
- 收藏
- 关注
原创 初识结构体
这里推荐使用传地址操作,因为传值根据之前C语言函数声明的学习的内容可知,需要在栈开辟一块新的空间,一旦结构体较大就会影响运行速度。规则2:每个结构体的对齐数是默认对齐数(VS中默认为8)和所有函数类型中最大占据字节数的较小值,并且结构体总大小必须为对齐数的整数倍。首先,我们要理解结构体在声明之后和int,char等一样,是用来声明函数类型的,只不过结构体内含多个函数类型。如果两者按下面方法存放,处理器进行读取的时候以4个字节进行读取,那么就存在B被分成两部分进行两次读取的情况,故而拖慢了读取速度。
2024-08-27 11:16:04 299
原创 如何速通盗梦空间一般的函数递归?
理解起来也是一样的,就是由于新变量n带入的函数(数学里的方程)是根据其它与n相关变量(如n-1)代入值进行变化的,所以你需要把每一次计算返回的常数分离,再拆解找规律。由于每一次函数调用都会开辟一块地址空间作为这个函数的栈帧,而递归结束前之前开辟的函数栈帧不会消除,所以如果递归过多,导致栈帧数量过多,就可能发生栈的空间不足,进一步导致栈溢出。在这里我们定义了一个Fun函数,传递了一个整型变量n,如果n为5就返回值2,如果不为5就返回2倍的Fun(n+1)。输入:10, 输出:55。输入:2, 输出:1。
2024-05-26 10:54:54 359
原创 小白也能轻松玩转函数
库函数的实现非常简单,比如我们经常见到的printf函数,printf("hello fish")就是在屏幕上打印“hello fish”,因为printf这个函数就被C语言中的头文件赋予了打印的功能;一是传参的本质,我们这里的a,b是实参,被存放在main函数开辟出的栈区中,传过去后由x,y两个形参接受,这里的x,y并非就是a,b,而是这两个数的一个临时拷贝,是无法修改a, b两个值的,并且在add函数完成使命之后就会和add中的局部变量一起被消除。
2024-05-19 23:21:17 231
原创 C语言分支与循环分享(二)
我们需要考虑到二维数组有着行列两个位置坐标,要实现每个位置的赋值我们就需要遍历每一个坐标,从(0,0)开始一直到我们需要的第n行第n列(n-1,n-1),那么行坐标就需要一个从0到(n-1)的一个循环,列也需要。在这里我们首先要有一个菜单,再根据选项进行操作,根据上一篇的内容,很容易联想到要使用do while语句,而在do while语句之中我们嵌套了一个switch分支语句来进行选择,由此来决定是开始游戏还是退出程序。,这样下来我的语句内部只需要执行我需要的代码即可,非常简单易懂。
2024-05-19 22:44:23 270
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人