1,变量:
变量的作用域用于描述某个变量在程序中的可见范围。按照这种方式可以把变量分为局部变量和全局变量。 变量的存储类型用于描述编译系统为变量分配内存的方式,也可以用于描述某个特定函数的使用范围。C语言中一共有四种存储类型:auto、static、extern和 register。
(1) 静态变量
在编译时分配存储空间的变量称为静态变量,其定义形式为在变量定义的前面加上关键字“static”。例如: static int a = 8;
(2)寄存器变量
C语言允许将动态变量的值存放到CPU的寄存器中,这种变量称之为寄存器变量,定义的形式是在变量的前面加关键字“register”。例如:
register int x, y, z;
注意:
只有局部动态变量和形式参数可以定
义为寄存器变量,局部静态变量不能定义为寄存器变量。
(3)外部变量
所谓外部变量,就是在某个源文件中定义,而在另外一个源文件中被访问的变量。它是全局变量概念上的扩展。如果要在本文件中访问另外一个文件中定义的全局变量,就需要在本文件中对该全局变量的类型进行声明。
外部变量的声明的一般形式如下:
extern 数据类型 变量名;

2,递归:
函数的递归
如果一个函数在它的函数体内直接或间接地调用自身,那么这样的调用形式就是函数的递归调用,这个函数就称为递归函数。函数的递归是函数嵌套的一种特殊形式。
求n!的例子,用递归的方式如何实现。
#include<stdio.h>
long fun(int);
int main( )
{
int m;
long t;
scanf("%d", &m);
t = fun(m);
printf("result = %ld", t);
return 0;
}