摘要:
一、一个C++编译的程序占用的内存分为以下几个部分1、栈区:由编译器自动分配 存放函数的参数值,局部变量的值等,操作方式类似于数据结构中的栈。2、堆区:一般由程序员分配释放,若程序员不释放,程序结束时 可能 有系统收回。它与数据结构中的堆是两回事。分配方式类似于链表。3、全局区(静态区):全局变量和... 阅读全文
摘要:
一、指向普通函数的指针 要符合两点要求: 1返回类型相同 2参数类型、个数、顺序相同 实例: int Max(int a,int b){ return a>b?a:b; } int (*pFun)(int a,int b); int _tmain(int argc, _TCHAR* argv[]){ pFun = Max; coutb?a:b; }}; int (A::... 阅读全文
摘要:
1.通过数组和下标实现的表达式可以等价的通过指针和偏移量实现。 例如: int a[]= {1,4,66,8}; *p = a; p = &a[0];//和上面一句等价 *(p+1) 和a[1]和*(a+1)是等价的 a+1和&啊&a[1]也是等价的。 2.数组作为函数参数在传参时会自动退化为普通指针 int Srlen(char string[]); 在此函数中若调用系统的字符串长度函数s... 阅读全文
摘要:
问题描述: 一只青蛙一次可以跳上一个台阶或者两个。求该青蛙跳上一个N级台阶有多少种方法。 思路解析: 如果只跳一级台阶青蛙只有一种跳法,两级就有两种。我们把n级台阶的跳法看成n的函数 记为f(n)。当n大于二时,第一次跳时有两种不同的选择:一是一次只跳一级,此时跳法数 目等于后面n-1级台阶的跳法数目,即为f(n-1);另外一种就是选择第一次跳2级,此时跳法 数目就等于后面剩下的n-2级台阶的... 阅读全文