C/C++
doubleXnine
这个作者很懒,什么都没留下…
展开
-
汉诺塔层数大于10时输出不正常的分析及时间复杂度
使用递归方式解决汉诺塔问题,具体思路就不详细叙述了,代码如下:#include using namespace std;int i;void moveDisk(int diskNum, char from, char to, char aux){ if(diskNum == 1){ cout << "step" << ++i << ": "; cout << "Move原创 2016-06-04 23:56:11 · 3500 阅读 · 0 评论 -
C++中数组名、指针的引用传递
int (&b)[5] = a;一直以来我都认为只有在进行函数的参数传递时才会使用到引用传递,后来发现引用传递也可以在普通的代码中使用,相当于给变量增加了一个别名,如下面的代码:#include using namespace std;int main(){ int a = 20; int &b = a; b++; cout << a; return 0;}原创 2016-06-20 22:51:17 · 1790 阅读 · 0 评论 -
在x86汇编中使用C语言的全局变量
在阅读于渊《一个操作系统的实现》时,遇到如下一个问题:在代码chapter6/r/kernel/kernel.asm中,有这样一段汇编代码:357 restart:358 mov esp, [p_proc_ready]359 lldt [esp + P_LDT_SEL]360 lea eax, [esp + P_STACKTOP]361 mov dword [tss + TSS3_原创 2017-10-21 17:01:19 · 3312 阅读 · 0 评论 -
指针与数组名
指针的类别就是其+1的时候移动多少,包括所指向变量的类型和个数指针有两个来源一是定义的二是用&取出的,此时指针的类别为被&的变量的类别指针直接sizeof值为4,数组名直接sizeof值为数组大小指针用*解引用然后sizeof值为所指向结构的大小故指针与数组名不是同一类变量------------------------int b[5][5];b[0]是数组名,不是指针,sizeo...原创 2018-03-26 16:29:24 · 318 阅读 · 0 评论