当前位置:   article > 正文

c语言模块化编程extern的用法,C语言——模块编程和extern使用

c 语言模块化编程extern

模块化编程:

我们都看到别人写的程序很工整、规范、可读性很强,而且不是所有的程序、函数卸载一个main文件下面,整个工程下面都细分得很清楚,并且移植性高。

把程序或有独立整体功能的函数模块化成另外一个文件,然后统一管理,最终在main文件下#include"xxxx.h",然后有序调用。

下面就介绍怎么把程序模块化:

1. 我们先创建一个头文件,命名为people.h,添加内容如下:

#ifndef __PEOPLE__H_ //预编译头文件ifndef =>if no define ,就是如果工程里头没有定义这个都                         //文件的意思,用__PEOPLE__H_常量判断

#define __PEOPLE__H_ //如果没有定义people.h这个头文件,就可以定义,如果已经定义,则不再编                                         //译这个头文件

//函数声明

char *run();

void say(char *str);

void eat(char str[]);

int calculate(int a, int b);

#endif//结束符

2.我们创建一个people.c文件,这个文件吧people.h,文件下的函数声明进行实现,添加以下内容:

#include "people.h"

#include "app.h"

#include

//函数实现

char *run()

{

discance = 100;//改变extern的值,就是改变定义这个extern 变量的值

char *ch="he has runned about ";

return ch;

}

void say(char *str)

{

printf("我说");

while (*str!=NULL)

{

printf("%c",*(str++));

}

printf("\n");

}

void eat(char str[])

{

char *p = str;

printf("我正在吃");

while (*p!=NULL)

{

printf("%c",*(p++));

}

printf("\n");

}

int calculate(int a, int b)

{

int sum;

sum = a*b;

return sum;

}

3.这样就完成了一对C(源文件)和H(头文件)的映射。

接下来,我们看看extern的使用,我们创建一个头文件app.h,添加内容如下:

#include

extern int discance;//在这里只能够声明,不能够初始化,否则会错误

4.最后我们就写最熟悉的main文件了:

#include "app.h"

#include "people.h"

//再次定义,并且初始化,证明这个外部变量是数据当前文件下的,

//外部只要引入app.h则可以使用sum,改变sum的数值,

//则相当于改变当前文件下的值

int discance = 0;

void main()

{

char *p;

printf("欢迎学习模块化编程\n");

eat("meat");

say("hello world");

p = run();

while(*p != NULL)

{

printf("%c",*(p++));

}

printf("%d meter !\n",discance);

}

这样就完成了简单的模块化编程,看不懂没关系,大家可以下载源文件,在VC上运行,有C语言版的,也有C++版的,大家可以进行比较一下哦。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/264305
推荐阅读
  

闽ICP备14008679号