C程序的组成

C程序的组成
    C程序是由一个或多个.c和.h文件组成
    .c : c源代码文件
    .h :c的头文件
    
    
1,.c(c源代码文件)的组成
    (1)预处理命令。以"#"开头的行,在编译之前预先做的一些工作
      a.#include   文件包含命令
        #include <stdio.h>
        #include "xxx.h"
        上面两个都是文件包含命令,其作用是找到相应的文件,然后把该文件
        的内容在此处展开。不同的是,文件的搜索路径不一样:
            <>在系统标准的头文件路径(如:/include,/usr/include...)下搜索
            ""先在工程目录下搜索,然后再到指定路径下搜索
                gcc hello.c -o hello  -I../   //-I用来指定头文件的搜索路径
                gcc -E hello.c -o hello.i     //hello.i是预处理完成之后的文件
                
      b. 宏定义
        #define  PI        3.14      //不带参数的宏
        #define MAX(a,b)  ((a)>(b)?(a):(b))    //带参数的宏
        宏仅作"替换"作用
        
        m = MAX(3+5,6+8)
        ==>
        m = ((3+5)>(6+8)?(3+5):(6+8))
        
        #define  DEBUG    //仅定义一个符号DEBUG
        
      c.条件编译:若条件为真则到endif之间的语句会参与编译,否则就不参与编译
        #ifdef  DEBUG
         ....
        #endif
        
        #if 0
        ...
        #endif
        
        #ifndef _xxx_H_
        ...
        #endif
        
    (2)全局声明
        C语言中任何东西都必须知根知底,拒绝一切来路不明(身份不清)
        "声明":C语言中声明就是把一个名字(c标识符)的属性进行说明。
        比如说该标识符是变量还是函数呢,如果是变量则又是什么类型。
        一般在定义变量(或函数)时就规定了变量(或函数)的属性,所以定义也属于声明。
        
        C程序的编译顺序是从上到下的,所以我们在调用某变量或函数时,必须要先把
        它们进行声明(定义),让系统知道它的属性,再调用它们。
        
    (3)函数。function,功能。
        C语言的函数就是一个功能模块,是指令序列的集合。
        一个程序可以有多个函数,但有且仅有一个main函数(主函数),main由执行这个
        程序的操作系统来调用。程序的执行由main函数开始,那么main函数执行完了,
        你的程序也执行完了。
        
2  .h文件的组成
    c语言头文件是一个接口文件,该文件的内容一般为相应的C文件要导出的接口部分的内容:
    其实就是一些声明:
        函数的声明
            putchar / getchar
            printf / scanf
            这些函数就声明在stdio.h这个头文件里
        类型的声明(构造类的数据类型)
        全局变量的声明
        
    main.c    sum.c   sum.h
    gcc main.c sum.c  -o sum
        
    头文件的写法举例
    #ifndef _SUM_H_   //为了防止头文件重复包含
    #define _SUM_H_
    extern int sum(int a,int b);//声明外部函数
    struct test //声明结构体类型
    {
        int a;
        char c;
    };
    extern int a;//声明外部全局变量
    #endif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值