一段是你自己的
还有一段是在math.h中,
现在你想调用math函数,
但这个函数不在你这段代码中,
而是在math.h中,
这时你就需要加一条#include指令,把头文件“math.h”包含到你的代码中来,
不然你没法使用math函数,
好吧
,
确实很绕~~
你说的就是库函数的源码,也就是glibc,源码在ftp://ftp.gnu.org/gnu/glibc可以下到,比如下载ftp://ftp.gnu.org/gnu/glibc/glibc-2.9.tar.gz,打开后就可以看到你需要的各种库的具体实现代码,比如在string中的strcat.c中就有
char *strcat (dest, src)char *dest
const char *src
{
char *s1 = dest
const char *s2 = src
reg_char c
/* Find the end of the string. */
do
c = *s1++
while (c != '\0')
/* Make S1 point before the next character, so we can increment
it while memory is read (wins on pipelined cpus). */
s1 -= 2
do
{
c = *s2++
*++s1 = c
}
while (c != '\0')
return dest
}
一、定位不同。
1、stdlib.h是standard library标准库头文件,定位在通用工具函数。
2、stdio.h是standard input&output标准输入输出头文件,定位在标准的输入输出工具函数。
二、封装函数不同。
1、stdlib.h主要封装了malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等函数。
2、stdio.h主要封装了getchar()、putchar()、scanf()、printf()、gets()、puts()、sprintf()等函数。
三、定义类型不同
1、stdlib.h定义了size_t、wchar_t、div_t、ldiv_t和lldiv_t五种类型。
2、stdio没有定义类型。
扩展资料
stdlib.h包含的函数
输入样式:C语言模式:#include <stdlib.h>
C++样式:#include <cstdlib>
1、函数名称:calloc
函数原型: void calloc(unsigned n,unsigned size)
函数功能: 分配n个数据项的内存连续空间,每个数据项的大小为 size
函数返回: 分配内存单元的起始地址,如果不成功,返回0
2、函数名称:free
函数原型: void free(void* p)
函数功能: 释放 p 所指的内存区
函数返回:
参数说明: p- 被释放的指针
3、函数名称:malloc
函数原型: void * malloc(unsigned size)
函数功能: 分配 size 字节的存储区
函数返回: 所分配的内存区地址,如果内存不够,返回0
4、函数名称: realloc
函数原型: void * realloc(void * p,unsigned size)
函数功能: 将 p 所指出的已分配内存区的大小改为 size,size 可以比原来分配的空间大或小
函数返回: 返回指向该内存区的指针.NULL-分配失败
5、函数名称: rand
函数原型: int rand(void)
函数功能: 产生0到32767间的随机整数(0到0x7fff之间)
函数返回: 随机整数
6、函数名称: abort
函数原型: void abort(void)
函数功能: 异常终止一个进程.
参考资料来源:百度百科- stdlib.h