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);
转自:http://hi.baidu.com/imheaventian/blog/item/2dc2a7375dc8123c0a55a929.html