linux c库文件,c语言的库文件

最近在看The art and science of C,Eric S.Roberts,在此之前,我浏览过别人推荐的一本名书The program of C,但是我感觉这本书是那本书的续集,

在以前我只知道一些简单的c语言程序,就是什么有关计算排序什么的,但是就是无法把它跟现实生活中的图形程序连接起来,我感觉这就是个槛,反正我是这样,看完唐国强的c程序设计,也就是了解了些基本的语法,和基本的数据类型,要进一步深入我当时就不知道在干嘛好,因为我的迷茫导致我大三那年就没有继续看下去关于c语言编程的东西,转去看了看shell,

今天我看的接口让我感觉到了有点深入,让我明白了,程序的团体结构,下面我就说说我对接口的理解,其实说明白了,接口就是一个提供给给我们的头文件(当然这样说是为了更好的理解),打个比方,我们编写程序的时候通常要包含许多头文件,因为我门要用到很普通的函数,这些都是库函数,print(),getchar(),等。但是有些功能无法达到自己的目的,自己就需要编写函数去实现,但是对于一类问题,就需要一类函数去实现,这样为了避免重复编写函数,就可以定义一个接口,在接口文件里面注释是占很大一部分的。

下面是接口的定义格式,

一个完整的接口是由两个文件组成的,一个是name.h一个是name.c

name.h如下:

#ifndef _name_h(这里设计到一些条件编译的知识)

#define _name_h

任何所需的#iinclude行

接口项

#endif

其中name是库的名字,第三行的#include是需要其他库时才用的(一定要注意这个地方)。

name.c如下

在这个文件里面就包含自己接口中的各个函数。

下面就是一个普通原始的接口文件产生随机数,它包含两个部分可以和上面我所说的对照起来理解,希望我写的这些能帮助在我这个阶段的兄弟门。

/*

*file :random.h

*this file contains a preliminary version of a library

*interface to produce pseudo_random numbers.

*/

#ifndef _random_h

#define _random_h

/*function :RandomoIteger

*usage::n=RandomInteger(low,high);

*this function returns a random interger in the range

*low to high , inclusive.

*/

Int RandomInteger(int low,int high);

#endif

/*

*File:random.c

*this file implements the preliminary random.h interface.

*

*/

#include

#include

#include”genlib.h”

#include”random.h”

/*

*function :RandomInterger

*this function first obtains a random interger in

*the range [0…RAND_MAX]by applying four steps:

*(1)Generate a real number between 0 and 1.

*(2)Scale it to the appropriate range size

*(3)Truncate the value to an interger

*(4)Translate it to the appropriate starting point.

int RandomInterger(int low,int high)

{

int k;

double d;

d=(double)rand()/((double)RAND_MAX+1);

k=(int)(d*(high-low+1));

return(low+k);

}

比如在去随机数的时候一般都会调用rand,但是有些时候一些问题不好解决,扔硬币正反用0或1表示,但是这只有两种可能性,再如扔骰子只有六种肯能性,所以说接口就是对一类问题的方案。我是个初学者,高手看了此文章可能觉得没有什么。对于初学者每进一步我感觉都很难。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值