一个程序通常围绕这两个方面进行:数据存储和数据操作;
创新互联主营古县网站建设的网络公司,主营网站建设方案,手机APP定制开发,古县h5微信小程序搭建,古县网站营销推广欢迎古县等地区企业咨询
结构体是一种数据类型,用来将不同类型的数据组合在一起,决定数据的存储问题(比如在内存占多大的空间来,系统怎么解释存储数据的位数据啦等等)同int, double 等编译器内置的数据类型基本相同,只不过结构体是用户自己定义的数据类型而已,例如:
struct student
{
char name[20];
int NO;
};
函数是对数据的一种操作;
Verilog是硬件描述语言,模块或者function最后都会综合成实际的电路。
而C语言的函数,则是调用时才会转入函数执行。
联系就是两者目的都是提取公共模式,简化编程
C语言中接口和函数其实没什么差别,只是有些人的习惯问题,不过一叫接口的都是针对某一个模块的功能函数集合,像一个图片采集模块一般就会有三种方式,1、头文件和.c文件;2、头文件和.so动态库;3、头文件和.a静态库。在进行程序编写时我们要添加头文件,在进行编译时,必须加入,该模块的.c或.so或.a,一种就行。
一般我们编写小函数接口,一般需要一个.h和一个.c就行了。函数的声明都是在.h中,实现都在.c中,当模块编写.c有点大时,我们可以为了编译时的速度,把.c文件编译成.so和.a。
//hello.h
#ifndef _HELLO_H_
#define _HELLO_H_
//#define 宏定义也应该在这
#include stdio.h
void hello();
#endif
//hello.c
#inlcude "hello.h"
void hello() {
printf("Hello word!");
}
大概就是这样,只不过我是linux下的,函数接口定义大同小异吧
结构化体现一种程序设计的思想,其基本原则是:从上到下,分而治之。
可以按照功能或其它原则把程序分成几个部分,分别设计。进而组合在一起,这时要考虑几个部分的通融性和兼容性。
模块化更多的是考虑一个功能在不同的情况下的通用性,我的意思是比如你设计了一个功能,你需要保证它能适应于不同的情况,比如适应于不同的数据类型等等。
模块化有点泛型的意思,就像系统提供的泛型函数,任何数据类型都可以调用的,另外,模块化具有封装性,需要把所设计的模块封装起来,对外只提供接口,其它部分只可以通过接口进行调用,因为考虑它的通用性,所以必须考虑它本身以及接口的通用性:它本身必须能够处理任何数据类型,接口必须能够接受和处理任何数据类型。
C语言中的模块化体现在两个方面:
1 函数。函数是C语言的最小单位,每个函数均实现一个独立的功能,于是每个函数均可以当做是一个最小的功能模块。这样,C语言就实现了最基本的模块化。
2 文件。在C语言中,支持一个程序由多个源文件编译,所以可以把类似功能的一组函数写在同一个文件中,以源文件为单位,实现模块化。当模块较大时,可以写在多个头文件中,然后编译成一个库文件,以库文件为单位,实现模块化。
c的函数是对数学函数的一种抽象
比如数学中的y = x + 1;
其输入为x(c中称为参数),
输出(在c中叫返回值)为y。
那么上述数学函数在c中就表示为:
double Line(double x)
{
double y;
y = x + 1;
return y;
}
通过上例可知,C语言中的函数是只一个模块。是可以被调用的部分。是计算机行业中的概念。
数学的函数是一种映射,是一个数学概念。