c进阶-全局变量、静态本地变量、编译预处理指令、 大程序结构

 全局变量、本地变量

 

 静态本地变量:static  变量名

具有全局的生存期,函数内的局部作用域

 

 

 

 

表示该条语句为编译预处理指令

编译预处理指令包括:宏定义指令(#define)、文件包含指令(#include)、条件编译等

宏定义

#define    宏名    字符串

 功能:编译时将程序中的宏名全部用相应字符串替换

#define PI 3.14          /不带参数的宏定义;
#define cube(x) (1*(x)*(x)*(x))     /整体加括号;每一个参数加括号

 内置的宏定义

__LINE__:在源代码中插入当前源代码行号;

__FILE__:在源文件中插入当前源文件名;

__DATE__:在源文件中插入当前的编译日期

__TIME__:在源文件中插入当前编译时间;

__STDC__:当要求程序严格遵循ANSIC标准时该标识被赋值为1;

宏定义可以构建的复杂,甚至产生函数;

 大程序结构:多个源代码文件

#include <文件>:

将文件中的全部文本复制过来

 “”自己建立的            <>编译器自带的标准库

头文件.h

内部存放声明(函数原型、变量声明等声明),需要调用函数时include .h;预编译时会将函数原型复制过来,从而保证函数类型一致

条件编译,标准头文件结构,保证不会重复定义 

 

头文件.h
//------------max.h-------------
int max(int a,int b);
extern int i;//extern表示变量声明
主函数.c
//----------main.c------------
#include <stdio.h> //只是预编译时将input、printf 的函数原型复制过来;
//<>让编译器在指定目录去找;编译器知道自己标准库的指定目录;
#include "max.h"
//""要求编译器去.c所在的目录找,没有再去指定目录找;
int main(void)
{
    int a=5;
    int b=6;
    printf("%d\n",max(a,b));
    
    return 0;
}
//------------max.c------------
#include "max.h"
int max(int a,int b){
    return a>b?a:b;
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值