C语言——程序结构

局部变量

局部变量就是在函数体内部声明的变量。

int func(void)
{
    int sum = 0;            //局部变量
    
    ......

    return sum;
}

局部变量具有以下性质:

(1)自动储存期限

变量的储存期限(或存储长度)是在该变量存储单元存在期间程序执行的部分。

局部变量的存储单元是在包含该变量的函数被调用时“自动”分配的,函数返回时收回分配的存储单元,所有称这种变量具有自动的存储期限

(2)块作用域

变量的作用域是指可以引用该变量的程序文本部分。

局部变量拥有块作用域:从变量声明的点开始一直到所在函数体的末尾。

1.静态局部变量

在局部变量声明时加上static关键字,可以将变量声明为静态局部变量

int func(void)
{
    static int sum = 0;            //静态局部变量
    
    ......

    return sum;
}

静态局部变量具有静态存储期限,具有静态存储期限的变量拥有永久的存储单元,在整个程序的执行期间都会保留变量的值。

2.形式参数

形式参数拥有和局部变量一样的性质,自动的存储期限和块作用域。

int func(int n)
{
    static int sum = 0;
    
    ......

    return sum;
}

事实上,形式参数和局部变量真正的区别是:在每次函数调用时对形式参数自动进行初始化(在调用中通过赋值获得相应的实际参数的值)。

外部变量

外部变量就是在任何函数体外声明的变量,有时也称全局变量

int sum = 0;            //全局变量

int func(void)
{
    ......

    return sum;
}

局部变量具有以下性质:

(1)静态储存期限

如同声明为static的局部变量一样,外部变量拥有静态存储期限。存储在外部变量中的值将永久保留下来。

(2)文件作用域

外部变量拥有文件作用域:从变量声明的点开始一直到所在文件的末尾。因此,跟随在外部变量声明之后的所有函数都可以访问并修改它。

构建C程序

单个.c文件可能包含:1.诸如#include和#define这样的预处理指令

                                   2.类型的定义

                                   3.外部变量的声明

                                   4.函数原型

                                   5.函数定义

c语言对上述的这些项的顺序要求极少:执行到预处理指令所在的代码时,预处理指令才会起作用;类型名定义后才可以使用;变量声明后才可以使用。

 

C语言程序常见的编排顺序(单个文件):1.#include指令

                                                                   2.#define指令

                                                                   3.类型声明

                                                                   4.外部变量声明

                                                                   5.除main函数之外的函数的原型

                                                                   6.main函数的定义

                                                                   7.其他函数的定义

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值