
C语言
文章平均质量分 64
常规且细致的C语言详解。
_Vantasy
step by step
展开
-
c语言解决汉诺塔问题(常规与递推方式)(图文)
在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。作者也是刚刚接触c语言的小白,如果有什么不对的地方或者可以优化的地方希望大家多多包涵。f(n)是一个首相为1 公比为2的等比数列。step1:该问题可以看作由上面n层转到。即f(n)=2^(n-1)-1。4. 2的n次方代码的实现。所以f(n)=2f(n-1)图2:此时2号变为了一号。用数学的方式再优化一下。上的最后一层移到C上。原创 2024-09-13 10:09:39 · 538 阅读 · 2 评论 -
C语言自定义类型(1)--结构体
(不同的编译环境有不同的默认对齐数,vs的默认对齐数就是8,linux没有默认对齐数.....)各位认为sizeof(struct Swu)的大小是什么-------是9?我们已经初步掌握了结构体的相关知识了,接下来就是结构体的一个难点----结构体内存对齐。(4)如果有嵌套结构体的情况,那么该嵌套结构体的对齐数为其内部的最大对齐数。认为结构体的内存对齐就是将结构体中占用内存最大的成员变量*成员个数。(2)对齐数:=min{默认对齐数,成员变量的大小}取最小值。接下来,我们来介绍一下结构体的内存对齐。原创 2024-10-19 10:32:20 · 416 阅读 · 0 评论 -
c语言的文件处理
(1.文件在被使用的时候都会在内存中开辟一个(2.文件都有一个FILE类型的指针指向它FIEL* pf。原创 2024-10-25 14:33:21 · 536 阅读 · 0 评论 -
C语言动态通讯录的实现
通过枚举,结构体来构建基础。原创 2024-10-22 08:43:10 · 186 阅读 · 0 评论 -
C语言自定义类型(2)--位段
(1.不可移植性,很多编译器对于位段的处理是不一样的,正好决定了他的不可移植。(5.代码的复杂性提高,可读性降低。(1.嵌入式系统中的寄存器访问。(3.无法运用数组或指针操作。(3.网络协议和文件格式解析。接下来,我们来讨论一下位段。(4.权限和状态标志管理。位段的声明与结构体类似。(2.访问的速度降低。原创 2024-10-19 10:48:23 · 225 阅读 · 0 评论 -
c语言<string.h>库函数的模拟实现
strstr,strtok,strncmp,strcat,strncat,strcpy,strncpy的模拟实现原创 2024-10-15 09:02:17 · 567 阅读 · 0 评论 -
c语言数组指针,函数指针(指针进阶)
关于数组的指针,与函数指针原创 2024-10-09 12:22:03 · 628 阅读 · 3 评论 -
C语言动态规划(基础)
在我们c语言前期的学习中,我们大多接触到的都是和的操作而并没有接触过而动态规划就是关于的操作,下面我们来学习动态规划。原创 2024-10-22 10:21:30 · 452 阅读 · 0 评论 -
C语言函数递归经典练习解析(图文)(全排列问题,青蛙上台阶问题)
并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。已知一只青蛙可以选择一次上一阶或两阶台阶,求上n个台阶的方法共有多少种。执行一次程序之后a变为第二个数,b变为第三个数,c变为第四个数。1).若最后一步为两个台阶,则需计算前面f(n-2)的情况。2).若最后一步为一个台阶,则需计算前面f(n-1)的情况。会进行大量且重复的计算,所以这种方式的效率较低。我们可以从逆着写,改为正着写以减少重复的计算。通过上图我们就可以清晰直观的看到如何去递归。青蛙的最后一步是走两个台阶还是一个台阶。原创 2024-09-15 15:54:19 · 740 阅读 · 0 评论