
c语言
小癞子
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
结构体对齐详解
1.首先理解一下什么是结构体对齐: 许多计算机系统对基本类型数据在内存中存放的位置有限制,要求数据的起始地址需是k(对齐数)的倍数,这样可以提升读取数据的速度。而这里的对齐数也不是任意值,只能是内置类型已有的字节数(1,2,4,8....),在默认情况下,VS中的值为8,Linux中的值是4,当然也可以通过在struct之前加上#pragma pack(4)设置,括号里就是你设置的对齐数,#p...原创 2018-08-27 23:14:08 · 593 阅读 · 0 评论 -
斐波那契的递归和非递归解法
斐波那契数列:像1,1,2,3,5,8.....这样的数列 通常定义为:F(1)=1,F(2)=2,F(n)=F(n-1)+F(n-2)(n>2) 非递归解法如下: int Fibonacci(int n) { int ret[2]={0,1}; if(n<2) { return ret[n]; ...原创 2018-09-22 10:25:40 · 437 阅读 · 0 评论 -
青蛙跳台阶问题
题目一:一只青蛙一次可以跳上一级台阶,也可以跳上两级台阶。求该青蛙跳上一个n级台阶总共有多少种跳法 分析: 当n=1时,只有一种跳法; 当n=2时,可以一次跳一级,也可以一次跳2级,有两种跳法 当n>2时,第一次跳的时候有两种选法,只跳一级,此时跳法数目等于后面剩下的n-1级台阶的跳法数目,即为f(n-1) 第一次跳2级,此时跳法的数目等于后面剩下...原创 2018-09-22 11:05:44 · 338 阅读 · 0 评论 -
模拟实现字符串拷贝,比较等函数
1.模拟实现strcpy char* my_strcpy(char* dst, const char*src) { assert(dst != NULL); assert(src != NULL); char *ret = dst; while (*dst = *src) { dst++, src++; } return ret; } 2.模拟实现strncpy cha...原创 2018-09-29 20:13:41 · 392 阅读 · 0 评论