zoukankan      html  css  js  c++  java
  • C语言之程序结构

    一个好的程序首先要有好的程序结构,我从变量和结构两个方面来做分析。

    一、浅谈程序中的变量

    一个程序架构最基本的就是程序变量,谈到程序中的变量,我们应该考虑两部分,一方面是变量的作用域,一方面是变量的生存期。

    我们就从这两个角度对变量进行分析:

    (1)全局变量
    全局变量的声明要放在主函数之前,它的作用域是整个程序全局,生存期是程序整个周期。

    (2)局部变量
    局部变量是在某个局部声明的变量,它的作用域为特定区域,例如函数体内声明的变量作用域在函数体内,
    函数体执行完成则完成。如果变量声明在一个for语句里面,则他作用的区域也就是这个for语句。同样生命
    周期也之在特定区域。

    (3)静态局部变量
    static 静态局部变量所声明的变量作用域是某个特定函数体,但是其生命周期是整个程序的生命周期。

    注意:
    函数体不能传递回本地变量的地址,具有危险性,因为函数体执行完成后,则局部变量的内存区被释放。

    举个例子来看

    #include <stdio.h>
    int value = 0;//全局变量
    void fun();

    void fun1(); int main() { int i=0; //全局变量 printf("main:%d ",i);//此处使用的i应该是处于main级别下的i值。 fun(); printf("main:%d ",i);//此处打印的依然是main下的i fun(); fun1(); printf("main:%d ",i);//此处打印的依然是main下的i fun1(); printf("main:%d ",i);//此处打印的依然是main下的i } void fun() { int i = 10;//此处的i值只作用于这个函数体而且每次进入函数就定义一次,离开函数就释放空间 printf("fun:%d ",i);//此处打印的是这个局部变量每次都是1 } void fun1() { static int i = 10;//静态局部变量,其只声明一次,而一直存活 printf("fun1:%d ",i); i++; }

      

    二、程序结构分析

    大的程序一般都要进行模块化编程
    每个模块都对应着头文件和源文件
    源文件的内容是程序的主题部分,函数的内容
    头文件的内容是程序的解释说明,包括全局变量的声明和所有对外公开函数的声明

    (1)头文件
    1、头文件包含问题
    #include "" 与 #include < >
    ""是先在当前目录下寻找此文件,如果没有再去系统设定的目录下寻找,一般自己写的文件就用""
    <>是直接去系统设定的目录下寻找文件,一般都是系统提供的文件用<>

    要注意防重复包含
    所以需要在每个头文件作如下编写
    (标准头文件结构)
    #ifndef _MAX_H_
    #define _MAX_H_
    //程序区
    #endif

    2、头文件中的变量要想被外部调用应该用extern
    extern int i;

    注意:声明与定义的区别
    定义一个变量,定义一个函数是在程序中要产生代码的。
    而声明在程序中是不生成代码的,因为声明只是告诉编译器我有这个东西,让编译器记住。
    例如在主函数之前我们都要有函数的声明,而函数体则在主函数之后定义。

    (2)源文件
    包含函数的解释(源代码)

  • 相关阅读:
    vim setting
    贵价的高级衣物清理法小Tipp之观察别人当然要从脚看起咯!
    面试季,如何通过衣品为自己加薪
    【内部竞聘】华东/华南 -区域招商高级经理/经理
    格柏科技简介
    丝琪制衣(上海)有限公司_丝琪制衣_网站首页
    男人的网站—Indochino不完全解析 | 曾亮.ME
    Paul Smith2014春夏男装发布秀__Paul Smith[保罗·史密斯]男装周_男装秀场-GQ男士网
    Paul Smith2010春夏男装发布秀__Paul Smith[保罗·史密斯]男装周_男装秀场-GQ男士网
    Paul Smith 2015春夏男装秀_时尚_腾讯网
  • 原文地址:https://www.cnblogs.com/flyingjun/p/5171311.html
Copyright © 2011-2022 走看看