大程序结构:声明

转载 2018年04月17日 21:46:56
#main.c

#include<stdio.h>
#include "max.h"

int main(void){

    int a=5;
    int b=6;
    printf("%f\n".max(a,gAll));

    return 0;
} 
#max.c

int gAll = 12;
double max(double a,double b){

    return a>b?a:b;
}
#max.h

double max(double a,double b);
extern int gAll;

变量的声明

  • int i; 是变量的定义
  • extern int i;是变量的声明

声明和定义

  • 声明是不产生代码的东西
    • 函数原型
    • 变量声明
    • 结构声明
    • 宏声明
    • 枚举声明
    • 类型声明
    • inline函数
      -定义是产生代码的东西

头文件

  • 只有声明可以被放在头文件中
    • 是规则不是法律
  • 否则会造成一个项目中多个编译单元里有重名的实体
    • *某些编译器允许几个编译单元中存在同名的函数,或者用weak修饰符来强调这种存在

重复声明

  • 同一个编译单元里,同名的结构不能被重复声明
  • 如果你的头文件里有结构的声明,很难这个头文件不会在一个编译单元里被#include多次
  • 所以需要“标准头文件结构”
#main.c

#include<stdio.h>
#include "max.h"
#include "min.h"

int main(void){

    int a=5;
    int b=6;
    printf("%f\n".max(a,gAll));

    return 0;
} 
#max.c

int gAll = 12;
double max(double a,double b){

    return a>b?a:b;
}
#max.h

#ifndef _MAX_H_
#define _MAX_H_

double max(double a,double b);
extern int gAll;

#endif
#min.h

#include "max.h"

标准头文件结构

#ifndef _LIST_HEAD_
#define _LIST_HEAD_

#include "node.h"

typedef struct _list{

    Node* head;
    Node* tail;
}List;

#endif
  • 运用条件编译和宏,保证这个头文件在一个编译单元中只会被#include一次
  • #pragma once 也能起到相同的作用,但是不是所有的编译器都支持

大程序结构

大程序结构 它的意思可以说是这样 main()里边的代码长了,适合分成几个函数 一个源代码文件长了,适合分成几个文件   项目 这个需要新建一个项目,然后把相关的文件添加进来 有的IDE...
  • u012421456
  • u012421456
  • 2014-10-12 09:31:30
  • 1483

JavaScript的程序结构

程序结构 分为三大类: 顺序:程序默认都是从上到下逐行执行 分支:根据条件判断的结果,有选择的执行不同 循环:程序可以反复执行同一代码段,到达临界时退出 ***********************...
  • ruthywei
  • ruthywei
  • 2017-05-17 22:44:16
  • 503

程序中的三大结构

讲述了程序中的三大结构,以及如何打印出乘法口诀表
  • Alisa09
  • Alisa09
  • 2017-05-20 23:52:01
  • 511

java程序的三种结构

顺序结构 顺序结构表示程序中的各个操作时按照它们在源代码中的排列顺序依次执行的  选择结构 选择结构表示程序的处理需要根据某个特定的条件选择其中的一个分支执行。 选择结构有单选择、双选择和多选...
  • t0404
  • t0404
  • 2016-06-21 13:26:30
  • 486

操作系统结构及其特点

  • lzgyou
  • lzgyou
  • 2010-03-24 10:43:00
  • 5254

[Go]程序结构——声明

声明语句定义了程序的各种实体对象以及部分或全部属性。Go语言主要有四种类型的声明语句: .var:变量const:常量type:类型func:函数 这里重点讨论变量和类型的声明,后面讨论常量和函...
  • paxhujing
  • paxhujing
  • 2017-08-10 22:13:13
  • 107

C语言从入门到精通——4.C语言三大程序结构之顺序结构

前言      C语言中有三大程序结构:顺序结构、选择结构、循环结构,这三种结构在C语言程序中最为常见,也是处理复杂逻辑事物需要具备的处理结构。顺序结构简易顺序结构如下所示:顺序结构特点:顺序结构的执...
  • Fly_hps
  • Fly_hps
  • 2018-02-25 22:53:15
  • 22

程序的三种基本结构

1.顺序结构 2.条件结构 3.循环结构 循环结构分为当循环结构和直到型循环结构 两者的主要区别是:当循环的循环体是在条件成立的时候才运行的。当循环结构是条件成立时才执行循环体的内容而直到型结构的...
  • abc5382334
  • abc5382334
  • 2013-12-06 20:17:24
  • 4759

6.3 大程序结构

1.多个 .c文件,如何编译 main()里的代码太长,适合分成几个函数 一个源代码文件太长,适合分成几个文件 两个独立的源代码文件 不能编译成一个可执行程序 之前我们写的代码,是放在一个.c文件中,...
  • jieqiong1
  • jieqiong1
  • 2017-03-04 14:49:48
  • 180

自学Python之Python基础:(三)Python代码结构

在本篇中,你将了解到: 1.关于Python注释的方式。 2.Python中的条件判断:if。 3.使用while进行循环。 4.使用for实现推导式。 5.Python中的各种参数说明。 ...
  • cc_xz
  • cc_xz
  • 2017-12-01 17:09:33
  • 358
收藏助手
不良信息举报
您举报文章:大程序结构:声明
举报原因:
原因补充:

(最多只允许输入30个字)