精华内容
下载资源
问答
  • C语言中stdlib头文件解析

    千次阅读 多人点赞 2018-01-14 14:06:39
    stdlib 头文件即standard library(标准库)头文件,里面包含了C、C++语言的最常用的系统函数。包括动态内存管理、随机数生成、与环境之间的通信、整数运算、搜索、排序及转换等。 stdlib .h 头文件定义了四个变量...

    stdlib 头文件即standard library(标准库)头文件,里面包含了C、C++语言的最常用的系统函数。包括动态内存管理、随机数生成、与环境之间的通信、整数运算、搜索、排序及转换等。
    stdlib .h 头文件定义了四个变量类型、五个宏和各种通用工具函数。

    4个变量:

    size_t
    wchar_t(一个宽字符常量大小的整数类型)
    div_t(div函数返回的结构)
    ldiv_t(ldiv 函数返回的结构)。
    

    5个宏:

    NULL;
    EXIT_FAILURE;   exit 函数失败时要返回的值
    EXIT_SUCCESS;   exit 函数成功时要返回的值
    RAND_MAX;       rand 函数返回的最大值;
    MB_CUR_MAX  在多字节字符集中的最大字符数
    

    一些主要的函数

    •atof函数

    函数原型:double atof (const char* str);
    函数描述:把参数 str 所指向的字符串转换为一个浮点数。
    函数返回:函数返回转换后的双精度浮点数,如果没有执行有效的转换,则返回零(0.0)。
    特点:
    1:函数会不理会字符串开始之后的空格,直到遇到第一个有效字符,从第一个有效字符开始,到最后一个有效字符为止,函数会将这段字符转换为浮点数。最后一个有效字符之后的字符不会影响该函数。
    2:对于C90,有效字符包括以下条件:可以以+-字符作为字符串的开始;字符串中可以出现(不超过)一个.符;可以出现表示指数形式的E或e字符,且其后可以跟一个有效字符串。
    3:对于C99/C11,除C90的条件外,还支持0x/0X前缀,INF,NAN等。

    •atoi函数

    函数原型:int atoi(const char *str);
    函数描述:把参数 str 所指向的字符串转换为一个整数。
    函数返回:返回转换后的长整数,如果没有执行有效的转换,则返回零。
    特点:
    1:函数会忽略字符串刚开始的空格,直到遇到第一个有效字符。
    2:+和-位于第一个字符是被认为是有效字符。最后一个有效字符之后的字符不会影响该函数。
    3:若转换后的数据长度超出int所表示的最大范围,将产生未定义的行为。

    •atol函数

    函数原型:long int atol(const char *str);
    函数描述:把参数 str 所指向的字符串转换为一个长整数(类型为 long int 型)。
    函数返回:返回转换后的长整数,如果没有执行有效的转换,则返回零。
    特点:与atoi一致。

    •strtod函数

    函数原型:double strtod(const char *str, char **endptr);
    函数描述:把参数 str 所指向的字符串转换为一个浮点数(类型为 double 型)。
    函数返回:返回转换后的双精度浮点数,如果没有执行有效的转换,则返回零(0.0)。
    特点:
    1:函数会忽略字符串刚开始的空格,直到遇到第一个有效字符。
    2:如果 endptr 不为空,则它指向转换中最后一个有效字符后的字符所在的地址。
    3:实际使用中常将endptr设为null,表示不关注无效字符。

    •strtol函数

    函数原型:long int strtol(const char *str, char **endptr, int base);
    函数描述:把参数 str 所指向的字符串根据给定的 base 转换为一个长整数,base 必须介于 2 和 36(包含)之间,或者是特殊值 0。
    函数返回:函数返回转换后的长整数,如果没有执行有效的转换,则返回一个零值。
    特点:
    1.对于base,若base为0,则要求:首字母可以是(+/-),若首字母不是0或0x/0X,则必须是十进制的其他字符,且按照10进制进行转换;若首字母是0或0x/0X,则分别按照8进制或16进制转换,开始的0及x/X会被忽略,在此过程中,超出8进制和16进制的字符会被认为是无效字符(如0912会被转化为0,因为会按照8进制来转换,9被认为是无效字符)。
    2:若为36进制,则为从0~z/Z。
    3:其余特点参考strtod。

    •strtoul函数

    函数原型:unsigned long int strtoul(const char *str, char **endptr, int base);
    函数描述:把参数 str 所指向的字符串根据给定的 base 转换为一个无符号长整数,base 必须介于 2 和 36(包含)之间,或者是特殊值 0。
    函数返回:返回转换后的长整数,如果没有执行有效的转换,则返回一个零值。
    特点:参考strtol

    •calloc函数

    函数原型:void *calloc(size_t nitems, size_t size);
    函数描述:分配所需的内存空间,并返回一个指向它的指针。nitems表示要被分配的元素个数。size表示每个元素的大小。
    函数返回:返回一个指针,指向已分配的内存。如果请求失败,则返回 NULL。
    特点:
    1:malloc 和 calloc 之间的不同点是,malloc 不会设置内存为零,而 calloc 会设置分配的内存为零。

    •free函数

    函数原型:void free(void *ptr);
    函数描述:释放之前调用 calloc、malloc 或 realloc 所分配的内存空间。
    函数返回:不返回任何值。
    特点:
    1:如果传递的参数是一个空指针,则不会执行任何动作。
    2:如果指针指向的内存不是由calloc、malloc 或 realloc 所分配,则函数会发生未定义的结果。
    3:函数不会改变指针的值(指向),只是现在指向的内存区域无效。(Notice that this function does not change the value of ptr itself, hence it still points to the same (now invalid) location.)

    •malloc函数

    函数原型:void *malloc(size_t size);
    函数描述:分配所需的内存空间,并返回一个指向它的指针。size表示要申请的字节数。
    函数返回:返回一个指针 ,指向已分配大小的内存。如果请求失败,则返回NULL。

    •realloc函数

    函数原型:void *realloc(void *ptr, size_t size) ;
    函数描述:尝试重新调整之前调用 malloc 或 calloc 所分配的 ptr 所指向的内存块的大小。
    函数返回:返回一个指针 ,指向已分配大小的内存。如果请求失败,则返回NULL。
    特点:
    1:ptr指针指向一个要重新分配内存的内存块,该内存块之前是通过调用 malloc、calloc 或 realloc 进行分配内存的。如果为空指针,则会分配一个新的内存块,且函数返回一个指向它的指针(类似malloc)。
    2:新的内存块的大小,以字节为单位。如果大小为 0,且 ptr 指向一个已存在的内存块,则 ptr 所指向的内存块会被释放,并返回一个空指针。
    3:如果请求失败,则返回NULL,此时不影响ptr所指向的内存。

    •abort函数

    函数原型:void abort(void);
    函数描述:异常中止程序执行,直接从调用的地方跳出。
    函数返回:无返回。
    特点:
    1:abort函数导致所有的流被关闭和冲洗。
    2:abort函数用以解除进程对SIGABRT信号的阻止。

    •atexit函数

    函数原型:int atexit(void (*func)(void)) ;
    函数描述:当程序正常终止时,调用指定的函数func。
    函数返回:如果函数成功注册,则该函数返回零,否则返回一个非零值。
    特点:
    1:可以在任何地方注册你的终止函数,但它会在程序终止的时候被调用。
    2:若一个程序中出现多次atexit函数,则其按照栈的方式执行(最后一个先执行,以此类推)。

    •exit函数

    函数原型:void exit(int status);
    函数描述:(正常)立即终止调用进程。status – 返回给父进程的状态值。
    对于status,如果其为0或者EXIT_SUCCESS,表示成功;如果其为EXIT_FAILURE,表示失败。
    函数返回:无返回。
    特点:
    1:任何属于该进程的打开的文件描述符都会被关闭,该进程的子进程由进程 1 继承,初始化,且会向父进程发送一个 SIGCHLD 信号。

    •getenv函数

    函数原型:char *getenv(const char *name);
    函数描述:搜索name所指向的环境字符串,并返回相关的值给字符串。
    函数返回:返回一个以 null 结尾的字符串,该字符串为被请求环境变量的值。如果该环境变量不存在,则返回 NULL。

    •system函数

    函数原型:int system(const char *command);
    函数描述:把 command 指定的命令名称或程序名称传给要被命令处理器执行的主机环境,并在命令完成后返回。
    函数返回:如果发生错误,则返回值为-1,否则返回命令的状态。
    特点:
    1:如果command为null,则只是为了测试指令系统是否有效,若有效,返回非0,否则返回0。

    •bsearch函数

    函数原型:void bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void , const void *));
    函数描述:对 nitems 对象的数组执行二分查找,base 指向进行查找的数组,key 指向要查找的元素,size 指定数组中每个元素的大小。数组的内容应根据 compar 所对应的比较函数升序排序。
    函数返回:如果查找成功,该函数返回一个指向数组中匹配元素的指针,否则返回空指针。
    特点:
    1:对于compar函数,若返回值小于0,表示要查找的值小于当前值;若返回值等于0,表示要查找的值等于当前值;若返回值大于0,表示要查找的值大于当前值。
    2:若数组中有多个满足条件的值,则函数可能返回任意一个,不一定是第一个。
    3:复杂度log2(num)+2。

    •qsort函数

    函数原型:void qsort(void base, size_t nitems, size_t size, int (*compar)(const void , const void*));
    函数描述:对数组进行排序。base指向要排序的数组的第一个元素的指针。nitems 由 base 指向的数组中元素的个数。size数组中每个元素的大小,以字节为单位。compar 用来比较两个元素的函数。
    返回值:无返回值。
    特点:
    1:不稳定排序(其实是基于快速排序的操作)。
    2:复杂度num*log2(num)。

    •abs函数与labs函数

    函数原型:int abs(int x);long int abs(long int x);
    函数描述:取x得绝对值。
    函数返回:返回x的绝对值。
    特点:
    1:对于浮点型及负数的取绝对值,分别定义在头文件cmath.h及头问价complex.h中。

    •div函数与ldiv函数

    函数原型:div_t div(int numer, int denom); div_t div(long int numer, long int denom);
    函数描述:把 numer(分子)除以 denom(分母)。
    函数返回:返回定义在

    rand函数

    函数原型:int rand(void) ;
    函数描述:伪随机数生成函数。
    函数返回:返回一个范围在 0 到 RAND_MAX 之间的伪随机数。
    特点:
    1:RAND_MAX 是一个常量,它的默认值在不同的实现中会有所不同,但是值至少是 32767。
    2:若随机数生成种子相同,则每次调用rand()生成的伪随机数是相同的。
    3:若使用rand函数前没有调用srand函数,系统会自动调用srand函数。

    •srand函数

    函数原型:void srand(unsigned int seed);
    函数描述:播种由函数rand使用的随机数发生器。seed是一个整型值,用于伪随机数生成算法播种。
    函数返回:无返回。
    特点:
    1:不同的seed会使得此后调用rand函数生成不同的伪随机数。
    2:如果seed设置为1,rand函数将生成和之前一样的伪随机序列。
    3:为了保持seed的独特性,通常的做法是使用time函数返回作为seed值。如srand(time(&t));

    此外,stdlib头文件还有一些处理多字节的函数,在使用过程中可自行查阅。

    参考:

    1. http://www.runoob.com/cprogramming/c-standard-library-stdlib-h.html
    2. http://www.cplusplus.com/reference/cstdlib/
    展开全文
  • C语言中stdlib.h头文件

    千次阅读 2019-03-07 10:09:28
    stdlib 头文件stdlib 头文件的介绍stdlib.h...stdlib 头文件里包含了C、C++语言的最常用的系统函数, 该文件包含了的C语言标准库函数的定义 stdlib.h里面定义了五种类型、一些宏和通用工具函数 类型: 例如 size_...

    stdlib 头文件的介绍

    stdlib 头文件即standard library标准库头文件

    stdlib 头文件里包含了C、C++语言的最常用的系统函数, 该文件包含了的C语言标准库函数的定义

    stdlib.h里面定义了五种类型、一些宏和通用工具函数

    类型:
    例如 size_t、wchar_t、div_t、ldiv_t和lldiv_t;
    宏:
    例如 EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等;

    常用的函数

    例如 malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等等。

    具体的内容你自己可以打开编译器的include目录里面的stdlib.h头文件看看。

    展开全文
  • c语言中头文件

    2014-03-05 20:04:49
    C语言中#include 有何作用?何时要用? 动态存储分配函数头文件,当对内存区进行操作时,调用相关函数.ANSI标准建议使用stdlib.h头文件,但许多C编译要求用malloc.h,使用时应查阅有关手册. 我从网上拷了一个...

    C语言中#include <malloc.h>有何作用?何时要用?

    动态存储分配函数头文件,当对内存区进行操作时,调用相关函数.ANSI标准建议使用stdlib.h头文件,但许多C编译要求用malloc.h,使用时应查阅有关手册.

    我从网上拷了一个程序下来,发现里面有很多类似这样的包含语句:
    #include <sys/types.h>
    斜杠前面的应该是文件夹吧?可是那个程序只有一个文件,并没有这样的文件夹。
    那些头文件是不是c的函数库本来就带有的呢?

    回答:

    是unix/linux系统的头文件

    这些文件夹在环境变量中关于 "include "的路径下,你到那个目录看一眼就明白了。

    请问,#include<types.h> 和#inlcude<sys/types.h>有什么区别?

    回答: 指定文件路径,不使用默认路径下的文件或为默认路径下不存在该文件时指定文件路径。  

    不要乱说  
       
    第二中写法是指使用缺省include目录下sys子目录中的types.h,即指出了路径  
    缺省目录是指在编译器中指定的目录  
    使用#include   <xxx.h>  
    只搜索缺省目录  
    使用#include   "xxx.h"  
    搜索当前工作目录和缺省目录

    #include <stdlib.h>的含义是什么
    stdlib 头文件里包含了的C语言标准库函数的定义
    stdlib.h里面定义了五种类型、一些宏和通用工具函数类型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t;宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等;常用的函数如malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、 srand()、exit()等等。 具体的内容你自己可以打开编译器的include目录里面的stdlib.h头文件看看。

    string.h 到底是什么头文件呢?

    在程序中加入#include "string.h"就可以使用这个头文件里包含的库函数,而这些函数都是处理字符串的.

    这个头文件包含了一些处理字符串的函数。这些函数很多都以“str”开头,例如strcpy,strcat等,也有些mem开头的,如memcpy,memmset等。你可以直接到include文件夹里打开string.h文件看看你用到的函数是否在里面。



    math.h常用函数

    int  abs   (int x);
    double  acos  (double x);
    double  asin  (double x);
    double  atan  (double x);
    double  atan2 (double y, double x);
    double  atof  (const char *s);
    double  ceil  (double x);
    double  cos   (double x);
    double  cosh  (double x);
    double  exp   (double x);
    double  fabs  (double x);
    double  floor (double x);
    double  fmod  (double x, double y);
    double  frexp (double x, int *exponent);
    long  labs  (long x);
    double  ldexp (double x, int exponent);
    double  log   (double x);
    double  log10 (double x);
    double  modf  (double x, double *ipart);
    double  pow   (double x, double y);
    double  sin   (double x);
    double  sinh  (double x);
    double  sqrt  (double x);
    double  tan   (double x);
    double  tanh  (double x);


    stdio.h常用函数包括
    int       fclose   (FILE *stream);
    int       fflush   (FILE *stream);
    int       fgetc    (FILE *stream);
    int       fgetpos  (FILE *stream, fpos_t *pos);
    char    * fgets    (char *s, int n, FILE *stream);
    FILE    * fopen    (const char *path, const char *mode);
    int       fprintf  (FILE *stream, const char *format, ...);
    int       fputc    (int c, FILE *stream);
    int       fputs    (const char *s, FILE *stream);
    size_t    fread    (void *ptr, size_t size, size_t n, FILE *stream);
    FILE    * freopen  (const char *path, const char *mode,
                              FILE *stream);
    int       fscanf   (FILE *stream, const char *format, ...);
    int       fseek    (FILE *stream, long offset, int whence);
    int       fsetpos  (FILE *stream, const fpos_t *pos);
    long      ftell    (FILE *stream);
    size_t    fwrite   (const void *ptr, size_t size, size_t n,
                              FILE *stream);
    int       printf   (const char *format, ...);
    int       puts     (const char *s);
    int       rename   (const char *oldname, const char *newname);
    void      rewind   (FILE *stream);
    int       scanf    (const char *format, ...);


    stdlib.h常用函数包括

     stdlib 头文件里包含了C、C++语言的一些函数

      该文件包含了的C语言标准库函数的定义

      stdlib.h里面定义了五种类型、一些宏和通用工具函数。 类型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t; 宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等; 常用的函数如malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等等。 具体的内容你自己可以打开编译器的include目录里面的stdlib.h头文件看看
    int      abs    (int x);
    int      atexit (atexit_t func);
    double   atof   (const char *s);
    int      atoi   (const char *s);
    long     atol   (const char *s);
    void   * bsearch(const void *key, const void *base,
                           size_t nelem, size_t width,
                           int  (*fcmp)());
    void   * calloc (size_t nitems, size_t size);
    div_t    div    (int numer, int denom);
    void     exit   (int status);
    void     free   (void *block);
    char   * getenv (const char *name);
    long     labs   (long x);
    ldiv_t   ldiv   (long numer, long denom);
    void   * malloc (size_t size);
    void     qsort  (void *base, size_t nelem, size_t width,
                           int  (*fcmp)());
    int      rand   (void);
    void   * realloc(void *block, size_t size);
    void     srand  (unsigned seed);
    double   strtod (const char *s, char **endptr);
    long     strtol (const char *s, char **endptr, int radix);
    unsigned long  strtoul (const char *s, char **endptr, int radix);
    int      system (const char *command);
    max(a,b)        (((a) > (b)) ? (a) : (b))
    min(a,b)        (((a) < (b)) ? (a) : (b))

    random(num)     (rand() % (num))
    randomize()     srand((unsigned)time(NULL))


    string.h常用函数包括:
    char * stpcpy (char *dest, const char *src);
    char * strcat (char *dest, const char *src);
    char * strchr (const char *s, int c);
    int   strcmp (const char *s1, const char *s2);
    char * strcpy (char *dest, const char *src);
    size_t   strcspn (const char *s1, const char *s2);
    char * strdup (const char *s);
    char * strerror(int errnum);

     

    conio.h不是C标准库中的头文件。
      conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。
      包含的函数
      cgets(char *);
      cprintf(const char *, ...);
      cputs(const char *);
      cscanf(const char *, ...);
      inp(unsigned short);
      inpw(unsigned short);
      getch(void);
      getche(void);
      kbhit(void);
      outp(unsigned short, int);
      outpw(unsigned short, unsigned short);
      putch(int);
      ungetch(int);
      void _Cdecl clreol (void);
      void _Cdecl clrscr (void);
      void _Cdecl delline (void);
      int _Cdecl gettext (int left, int top, int right, int bottom,
      void *destin);
      void _Cdecl gettextinfo (struct text_info *r);
      void _Cdecl gotoxy (int x, int y);
      void _Cdecl highvideo (void);
      void _Cdecl insline (void);
      void _Cdecl lowvideo (void);
      int _Cdecl movetext (int left, int top, int right, int bottom,
      int destleft, int desttop);
      void _Cdecl normvideo (void);
      int _Cdecl puttext (int left, int top, int right, int bottom,
      void *source);
      void _Cdecl textattr (int newattr);
      void _Cdecl textbackground (int newcolor);
      void _Cdecl textcolor (int newcolor);
      void _Cdecl textmode (int newmode);
      int _Cdecl wherex (void);
      int _Cdecl wherey (void);
      void _Cdecl window (int left, int top, int right, int bottom);
      har *_Cdecl cgets (char *str);
      int _Cdecl cprintf (const char *format, ...);
      int _Cdecl cputs (const char *str);
      int _Cdecl cscanf (const char *format, ...);
      int _Cdecl getch (void);
      int _Cdecl getche (void);
      char *_Cdecl getpass (const char *prompt);
      int _Cdecl kbhit (void);
      int _Cdecl putch (int c);
      int _Cdecl ungetch (int ch);

    展开全文
  • 不完全统计,C语言标准库头文件有15个之多,所以我主要介绍常用的这四个头文件stdio.h,string.h,math.h,stdlib.h,以后用到其他的再做补充。下面上干货:1.:定义了输入输出函数、类型以及宏,函数几乎占了标准...

    不完全统计,C语言标准库中的头文件有15个之多,所以我主要介绍常用的这四个头文件stdio.h,string.h,math.h,stdlib.h,以后用到其他的再做补充。下面上干货:

    1.:定义了输入输出函数、类型以及宏,函数几乎占了标准库的1/3。

    (1)文件访问。

    FILE *fopen(“filename”,“mode”):

    以mode模式打开地址为'filename'的文件,并返回文件指针。

    访问模式主要是“r”:只读;   “w” :只写,并删除已有内容;  “a”:追加,在末尾追加;

    “r+”, “w+”:读写; “a+”追加,上述结尾加“b”:二进制文件操作。

    注意:其中r是打开文件,而w会创建(如果文件不存在);  w会覆盖原有内容,a则是在原有文件末尾追加。

    int fclose(FILE *f):

    释放缓冲区数据,关闭流。

    下面两个没太用过:

    FILE *freopen(“filename”,“mode”,FILE * f):

    以mode模式打开地址为'filename'的文件,并将该文件与流f2关联。

    int fflush(FILE *f):

    将已写到缓冲区但未写入文件中的所有数据写入文件中。

    (2)二进制输入/输出

    fread(*ptr,size,n,FILE* f):

    从f中读取n个长度为size的对象,并放入ptr指向的数组中。

    fwrite(*ptr,size,n,FILE* f):

    从ptr指向数组中读取n个长度为size的对象,并写入f中。

    注意:要注意write与read的对象,读和写都是针对文件流f的。

    (3)非格式化输入/输出

    int fgetc/getc(FILE *f):

    返回流f的下一个字符,到达文件末尾/发生错误,则返回EOF。

    int fputc/putc(int c, FILE *f)

    将字符c输入到流f中。

    int fgets(char * s,int n,FILE *f):

    将f中下n-1个字符读入到数组s中。遇到换行符,则终止。

    int fputs(const char * s,FILE *f):

    将字符串s输出到流中。

    int unget(int c, FILE *f)

    将c写回到f中。

    (4)格式化输入/输出

    按一定格式转输出。

    scanf/fscanf/sscanf

    printf/fprintf/sprintf

    注意:不加f/s,则是格式字符串标准输入/出函数,输入/出到终端/屏幕;printf(const char *format,...)

    加s,输入/出到字符串中。sprintf(char *s,const char *format,...)

    加f,输入/出到文件流中。  fprintf(FILE *f,const char *format,...)

    (5)文件定位

    long ftell(FILE *f):

    返回当前指针位置。错误时返回-1L。

    int fseek(FILE *f,long offset,int origin):

    将当前流f指针位置设置到:origin后offset个字符处。origin有:SEEK_SET:文件起始位置;SEEK_CUR指针当前位置,SEEK_END:文件结束位置。

    void rewind(FILE *f)

    指针返回文件开始位置,相当于:fseek(f,0L,SEEK_SET)

    不常用:

    int fgetpos(FILE *f,*p)

    将指针当前位置记录到*p中,以供fsetpos函数使用。

    int fsetpos(FILE *f,const *p)

    指针位置指向*p。

    (6)错误处理与文件操作

    int feof(FILE *f)

    指示文件结束,一直返回0,结束时返回非0值。

    int ferror(FILE *f)

    如果设置了与f相关的错误指示符,则返回一个非0值。

    int remove(char *filename)

    删除指定位置的文件。

    int rename(const char *oldname,const char *newname)

    改文件名,否则返回非0值。

    FILE *tmpfile(void)

    建立临时文件,‘wb+'模式,在被关闭或程序正常结束时自动删除

    2. 分成两组,一组str开头,一组mem开头(该组函数在中也有定义,不是所有编译器都有)

    (1)str

    char * strcpy (char *dest, const char *src);

    将字符串src复制到字符串dest中(包括'\0'),返回dest

    char * strncpy (char *dest, const char *src,n);

    将src中的前n个字符复制到dest中,返回dest,不够n个则补‘\0'

    char * strcat (char *dest, const char *src);

    char * strncat (char *dest, const char *src,n);

    src连接到dest后;src 中前n个字符连接到dest后。

    int strcmp (const char *s1, const char *s2);

    int strncmp (const char *s1, const char *s2,n); 比较s1与s2,s1

    char * strchr (const char *s, int c);

    char * strrchr (const char *s, int c); 返回字符串s中第一次出现字符c的位置指针;返回字符串s中最后一次出现字符c的位置指针(c会转换成char)

    不常见 size_t   strcspn (const char *s1, const char *s2); char * strdup (const char *s); char * strerror(int errnum);

    (2)mem

    void *memcpy(void *s, const void *ct,n)

    将字符串ct中的前n个字符拷贝到s中,并返回s。

    void *memmove(s,ct,n)同上一函数,只是在对象重叠时仍能正确执行。

    void *memset(void *s,int c, n)

    将s中的前n个字符替换成c,并返回s。

    int memcmp(cs,ct,n)

    将cs前n个字符与ct进行比较,cs

    void *memchr(cs,c,n)

    返回指向c在cs中第一次出现的位置指针。

    3.一些数学函数

    求绝对值

    int abs (int x);

    long labs (long x);

    float fabs (float x):

    所有返回值均为double,三角函数角度用弧度表示,x,y均为double

    double acos (x);

    double asin (x);

    double atan (x);

    double atan2 (y, x): arctan(y/x)

    double tan (x);

    double tanh (x): 双曲正切

    double sin (x);

    double sinh (x);

    double cos (x);

    double cosh (x);

    double pow (x, y);//注意返回值类型为双精度型

    double sqrt (x);

    double ceil (x): 不小于x的最小整型数(向上取整)

    double floor (x): 不大于x的最大整型数(向下取整)

    double exp (x);

    double fabs (x);

    double log (x): ln(x)

    double log10 (x);

    double fmod (x, y): x/y的余数

    double ldexp (x, n): x*2^n

    double modf (x, double *ip): 将x分成整数与小数两部分,返回小数部分,整数部分放在*ip中

    double frexp (x, int *exp); 将x分成(0.5,1)之间的一个真分数和一个2的幂数,返回真分数,幂数放在exp中

    4.数值转换、内存分配等问题。

    int rand(void)

    产生一个0~32767之间的随机整数。

    指针名=(数据类型  *)calloc(n,size)

    分配n个长度为size的连续空间,并且将所有元素置零,返回首地址。

    指针名=(数据类型  *)malloc(n*size)

    分配n*size个字节的内存,并返回首地址。

    指针名p1=(数据类型  *)realloc(要改变内存大小的指针名p2,新的大小n)

    分配长度为n字节的空间,将p2值赋值到该内存中,返回首地址到p1.(改变p1指向地址的内存大小)

    void free(*p)

    释放p指向的内存(p为malloc,realloc,calloc所开辟的内存)

    void abort (void)

    使程序非正常终止。

    void exit(int status)

    使程序正常终止。

    总结

    以上所述是小编给大家介绍的C语言中常用的几个头文件及库函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    展开全文
  • 如果有,优先加载这个文件(上面提到的include文件夹下的stdlib.h文件就被无视了),如果没有,就会在TurboC软件设置指定的路径(默认是TurboC所在文件夹下的include文件夹)寻找里面是否有stdlib.h的库文件。...
  • 就是我们常用的一些:比如stdio.h,stdlib.h 2、一些特殊模块需要头文件,例如我需要做内核相关的软件 ,用到例如printk()(这个函数,等同与用户态的printf())就需要kernel.h 就存在/usr/include下的linux目录下 ...
  • #include <stdio.h>: printf(""); scanf("");...stdlib.h>: system("pause"); system("cls"); #include <Windows.h>: sleep(num)//单位为ms #include <string.h>: strcmp(str1," "...
  • C语言中头文件中#include "stdlib.h"的作用 stdlib 头文件即standard library标准库头文件 stdlib 头文件里包含了C、C++语言的最常用的系统函数 该文件包含了的C语言标准库函数的定义  stdlib.h里面定义了五种类型...
  • 我在stdlib.h只找到了原型 请问他的实际实现代码在哪?
  • C语言自己建立头文件与使用

    千次阅读 2019-01-13 15:00:01
    1、首先现在vs建立一个头文件(不是建立项目),例如: 建立一个名为CreatelinkAndPrintlink.h的头文件(文件内容包括对创建函数和输出函数的声明及函数内容): include &lt;stdio.h&gt; include &...
  • C语言stdlib.h操作

    千次阅读 2016-10-21 15:27:00
    下面是头文件 stdlib.h 定义的变量类型: 1 size_t 这是无符号整数类型,它是 sizeof 关键字的结果。 2 wchar_t 这是一个宽字符常量大小的整数类型。 3 div_t 这是 div 函数返回的结构。 4 ldiv_t 这是 ldiv 函数...
  • 不完全统计,C语言标准库头文件有15个之多,所以我主要介绍常用的这四个头文件stdio.h,string.h,math.h,stdlib.h,以后用到其他的再做补充。下面上干货: 1.:定义了输入输出函数、类型以及宏
  • ``` #ifndef __GAME_H__ #define __GAME_H__ ...这段代码放在了一个头文件里面,为什么第一次编译后,修改define ROW的值都没有用了,比如我修改ROW 12为ROW10,程序还是依照未修改前的运行。
  • C语言的一个函数system()C语言的一个函数system()C语言中一个函数system(); 使用时必须包含头文件stdlib.h​它可以调用操作系统底层的SHELL命令。比如::Windows下的 CMD.exe命令行的命令。system("pause");///暂停...
  • 下面是头文件 stdlib.h 定义的变量类型 序号 变量 描述 1 size_t 这是无符号整数类型,它是 sizeof 关键字的结果. 2 wchar_t 这是一个宽字符常量大小的整数类型. 3 div_t 这是 div 函数返回的结构. 4 ldiv_t 这是 ...
  • C语言中你可能不熟悉的头文件<cstdlib>(stdlib.h) C Standard General Utilities Library (header) C标准通用工具库(头文件) 此头文件定义了一些通用功能函数,包括动态存储器管理,随机数生成,与操作系统...
  • 头文件,顾名思义就是定义在C语言文件头部的那一坨东西 #include <stdio.h>这就是一个标准输入输出的头文件声明,头文件声明写在定义文件(后缀名.c的文件)的头部,并在定义文件具体实现 #include <stdlib...
  • C语言中常用函数及头文件

    千次阅读 多人点赞 2018-03-03 11:47:25
    stdlib.h:求整数的绝对值:abs() strcmp :排序:qsort()ctype.h:判断是否为数字:isdigit()判断是否为字母:isalpha()判断是否为小写字母:islower()判断是否为大写字母:isupper()变小写:toupper()...
  • 不完全统计,C语言标准库头文件有15个之多,所以我主要介绍常用的这四个头文件stdio.h,string.h,math.h,stdlib.h,以后用到其他的再做补充。下面上干货: 1.<stdio>:定义了输入输出函数、类型以及宏,函数几乎...
  • c语言中常用的几个头文件及库函数

    千次阅读 2017-09-26 09:56:00
    不完全统计,C语言标准库头文件有15个之多,所以我主要介绍常用的这四个头文件stdio.h,string.h,math.h,stdlib.h,以后用到其他的再做补充。下面上干货: 1.<stdio.h>:定义了输入输出函数、类型以及宏,...
  • 头文件 stdio.h scanf、printf getchar、putchar gets、puts stdlib.h rand()%a+b:产生0~32767的随机数,a为范围,b为范围起始值,即产生b~b+a-1的随机数。 srand(随机种子):如srand(time(0))。 malloc(8)、...
  • 其实在谭浩强的C语言教程出现过“stdlib.h”,但是当时自己并未理解内存分配的问题。现在学了汇编语言之后回来看,这些函数还是很容易理解的。 stdlib 头文件里包含了C、C++语言的最常用的系统函数,包括 1函数...
  • C语言stdlib库(#include<stdlib.h>)

    千次阅读 2017-09-05 09:44:48
    stdlib.h中头文件定义了四个变量类型,用于执行一般函数的几个宏和各类函数。 库变量 以下是在头文件stdlib.h定义的变量类型: S.N. 变量和说明 1 size_t  这是一个无符号整数类型的sizeof关键字的...
  • #include<stdio.h> 或 #include"stdio.h" 用#include<...形式时,编译系统从存放C编译系统的子目录去找所包含的文件stdio.h,这称为标准方式。 用#include"stdio.h"形式时,编...
  • 使用gcc的编译器 头文件没有包含stdlib.h,使用atoi函数(atoi函数在stdlib.h才有声明),编译却没有出错如果编译的时候加上-Wall选项,会有个警告,请问这是为什么?这是因为C语言一个非常傻的规定:一个函数如果...
  • ,这一行代码在做什么呢,这是一个预处理指令,让本源程序包含一个C语言的函数库,通常包含的函数库有stdio.h,stdlib.h,math.h等,这样在程序才能使用C语言的标准函数,如printf(),scanf(),exit(),pow()等。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 860
精华内容 344
关键字:

c语言中stdlib头文件

c语言 订阅