10、C语言编程:变量、递归与预处理的深入解析

C语言编程:变量、递归与预处理的深入解析

1. 静态变量(Static Variables)

在编程中,有些变量是特定源文件中函数的私有变量,不希望被其他部分访问。例如, stack.c 中的 sp val ,以及 getch.c 中的 buf bufp 。使用 static 声明外部变量或函数,可以将其作用域限制在正在编译的源文件的其余部分。

以下是一个示例代码:

static char buf[BUFSIZE];  /* buffer for ungetch */
static int bufp = 0;       /* next free position in buf */

int getch(void) { ... }

void ungetch(int c) { ... }

在这个例子中,其他例程无法访问 buf bufp ,并且这些名称不会与同一程序其他文件中的相同名称冲突。同样,通过将 sp val 声明为 static ,可以隐藏用于栈操作的变量。

static 声明也可用于内部变量。内部静态变量与自动变量一样,是特定函数的局部变量,但不同的是,每次函

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值