第十二章 全局变量、宏、大程序结构习题
12-0、静态本地变量
#include <stdio.h>
int f(void);
int main(int argc
, char const *argv
[])
{
f();
f();
f();
return 0;
}
int f(void)
{
static int all
= 1;
printf("in %s all=%d\n",__func__,all
);
all
+= 2;
printf("agn %s all=%d\n",__func__,all
);
return all
;
}
12-1、编译预处理和宏
(1)编译预处理指令
(2)#define
(3)宏
#include <stdio.h>
#define PI 3.14159
#define FORMAT "%f\n"
#define PI2 2*PI
#define PRT printf("%f ",PI);\
printf("%f",PI2);
int main(int argc
, char const *argv
[])
{
printf(FORMAT
,PI2
*3.0);
PRT
;
return 0;
}
(4)预定义的宏
#include <stdio.h>
int main(int argc
, char const *argv
[])
{
printf("%s:%d\n",__FILE__,__LINE__);
printf("%s:%d\n",__DATE__,__TIME__);
return 0;
}
(5)带参数的宏
像函数的宏
#include <stdio.h>
#define cude(x) ((x)*(x)*(x))
int main(int argc
, char const *argv
[])
{
int i
=0;
scanf("%d",&i
);
printf("%d\n",cude(i
));
return 0;
}
错误定义的宏
带参数宏的原则
12-2、大程序结构
(1)多个源代码文件
(2)#include误区
(3)" "与< >
用法:
max.h 自己建的头文件
全局变量的声明(extern)
写在头文件 max.h里
double max(double a
, double b
);
extern int gall
;
(4)标准头文件结构
转载请注明原文地址: https://lol.8miu.com/read-7106.html