摘要:
栈的大小是固定的,这也就意味着不能无限的递归。递归到某些时候,栈顶将会没有更多空间来添加新的栈顶—就好像橱柜的空间被挤满,不能增加一个盘子一样void recurse(){ recurse(); //函数调用其自身}int main(){ recurse();//开始递归}//最终 栈空... 阅读全文
摘要:
指针使用前先被初始化指向一块特定的内存地址。如果不这样做,指针可能会指向任何位置,从而导致不愉快的后果,比如覆盖了其他变量的值,,或程序崩溃,为避免此类事故或其他不良后果,应该先养成使用指针前初始化。可以使用NULL这个C++特殊值来标记没被初始化的指针。每新建一个指针,你应该先将它的设置为NULL... 阅读全文
摘要:
返回指针型的数据 即地址 例如: int *(int x,int y), a是函数名,调用它以后能得到一个in * 指针,即整形数据的地址,x 和 y是函数a的形参为整数 定义返回指针的函数一般的形: 类型名 *函数名(参数列表); 下面通过一个例子来初步了解#includeint main()... 阅读全文
摘要:
如果在程序中定义了一个函数,在编译时,编译系统为函数代码分配一段存储空间,这段存储空间的起始地址(又称入口地址)称为这个函数的指针例如:int (*p)(int,int)用函数指针变量调用函数如果想调用一个函数,除了可以通过函数名调用以外,还可以通过指向函数的指针变量来调用函数怎样定义和使用指向函数... 阅读全文
摘要:
除了具有性质an+2=an+an+1外还有an=1/√5 [(1/2+√5/2)^ n-(1/2-√5/2)^n]#includeint main(){int i;int f[20]={1,1};for(i=2;i<20;i++){f[i]=f[i-2]+f[i-1];}for(i=0;i<20;i... 阅读全文
摘要:
后缀名为depend的文件是makefile 编译产生的文件 是生成一种依赖关系 帮助程序编译的那为什么有时候会生成而有时候又不会呢?看你makefile 自己的编写 写了就有 没写就没有 阅读全文
摘要:
内部函数 //static 类型名 函数名 (参数表)// 例如:static int fun(int a,int b)//表示fun是一个内部函数,不能憋其他文件调用//内部函数又称静态函数外部函数//如果在定义函数时,在函数首部的最左端加关键字extern//则此函数时外部函数,可供其他文件调用... 阅读全文
摘要:
变量分为静态存储方式和动态存储方式静态存储方式是指在程序运行期间由系统分配固定的存储空间方式动态存储方式则是在程序运行期间根据需要进行动态的分配存储空间的方式 C语言中每一个变量和函数都有两个属性:数据类型和数据的存储类别 存储类别指数据在内存中存储的方式(如静态存和动态存储和动态存储) C的存... 阅读全文
摘要:
基本数据类型: int float double char void派生数据类型:数据类型修饰符 + 基本数据类型 = 派生数据类型signed 和 unsigned 类型 unsigned 正数的取值范围是原来的两倍 修饰符可以与 int 和 float 数据类型一起使用 uns... 阅读全文
摘要:
所谓数组元素的指针就是数组元素的地址int *p;p=&a[0]; //p的值是a[0]的地址p=a; //p的值数组a元素的首字母在引用数组元素时指针的运算 在一定条件下可以对指针进行加减运算 在指针指向数组元素时,可以对指针进行一下运算 加一个整数或减一个整数 自加运算和自减运算 ... 阅读全文