C语言参考手册10Word格式文档下载.docx
《C语言参考手册10Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言参考手册10Word格式文档下载.docx(38页珍藏版)》请在冰点文库上搜索。
如果包括定义这些名称或宏的库头文件,则不能作
为文件作用域名称或宏复用‘
不能用于任何用途,C语言实现常用其作为扩展
不能作为文件作用域名或标志
不能编写标准库函数的自定义版本。
如果把sqrt函数换成自定义的函数,则可能因为
两个同名函数而造成连接错误。
这个限制使c语言实现可以更自由地组装并在内部使用标准
函数。
10.2C++兼容性
、C++语言包括标准C语言运行库,但增加了几个C++特定库。
增加的库都不用以“.h”结
的名称,因此通常不会与C语言库发生冲突o
c++用不同规则调用函数,即一般来说,不能从c语言程序中调用c++函数,但c++提供
第l0章库简介225
。
++中调用c语言函数的方法。
声明c语言函数时有两个要求:
1.函数声明要使用标准c语言原型,因为c++要求原型。
2.外部c语言要显式地标为具有c语言连接,即在c++的存储类extern后面2n_1:
字符串“C”。
例如果在一个c语言函数中调用另一C语言函数,则应声明.
externintf(void);
圣,如果从c++中调用C语言函数,则声明如下:
extern“C“intf(void);
lc++中要声明一组c语言函数,则可以对所有c语言函数采用连接规范:
extern“C“<
doublesqrt(doublex)j
intf(void){
对可能从c语言或c++调用的库编写头文件时,要选择是在头文件中指定C语言连接还是要
++程序在包括头的文件中提供连接声明。
例假设要从C语言或c++调用头文件library.h。
第一种方法是在头文件中包括extern
声明(条件预编译一cpluspluB宏),表示这是个c++程序。
|·
Filelibrary.ht|j
#ifdefcplusplus
extern“c。
(
#endif
/·
Cdeclarations·
#ifdefcplusplus
)
.种方法是用正常c语言声明编写头文件,只是要求c++用户用鲁include命令包装连接声明:
extern“C“(
#include”1ibrary.h“
)口
调用c++出现之前编写的库时,要使用上面第二种方法。
可以嵌套extern”C”{’声明,
}做不会产生问题。
参考章节cplusplus宏3.9.1
3库头文件与名称
j.1assert.h
参见第19章。
aooert
10。
3.2complex.h
参见第23章。
这个头文件是C99@增加的。
Cab8
cab8f
cab81
CaC0日
tacosf
cac08h
tacoshf
CaCOBhl
tacosl
carg
cargf
cargl
casin
casinf
caminh
cabinhf
cabinhl
CaBinl
10.3.3ctype.h
参见第12章。
isalnum
isalpha
ieblank
iscntrl
isdigit
10.3.4errn0.h
参见第11章。
EDOM
、EILSEQ
10.3.5fenv.h
参见第22章。
catan
catanf
catanh
catanhf
catanhl
catanl
CC08
CCOBf
COOBh
cooshf
CCOBhl
ccosl
cexp
cexpf
cexpl
cimag
cimagf
cimagl
isgraph
islower
isprInt
iepunct
isspace
ERANGE
errno
这个头文件是C99中增加的。
FEALLEXCEPT
FEDFLENV
FED工VBYZERO
FEDOWNWARD
FE工NEXACT
FEIN、限LID
FEOVERFLOW
10.3.6rioat.h
参见表5.3。
FETONEAREST
FETOWARDZERO
FEUNDERFLOW
FEUPWARD
feclearexcept
fegetenv
fegetexceptflag
clog
clogf
clogl
complex
—Complex_I
conj
conjf
conJl
cPow
cpowf
cpowl
cProj
cprojf
cprojl
creal
crealf
creall
cBin
c日inf
csinh
csinhf
csinhl
c8inl
csqrt
csqrtf
csqrtl
ctan
ctanf
ctanh
ctanhf
ctanhl
ctanl
cx_LIMITED—RANGE
工
imaginary
—Imaginary_I
isupper
isxdigit
tolower
toupper
fegetround
feh01dexcept
FENVACCESS
fenvt
ferai骞eexcept
fesetenv
fe宣etexceptflag
feeetround
fetestexcept
feupdateenV
fexcept_t
第10章库简,介227
DBLD工G
DBLEPS工LON
DBLMANTD工G
DBLMAX
DBLMAXlOEXP
DBLMAXEXP
DBLM工N
DBLM工Nl0EXP
3.7inttypes.h
DBLM工NEXp
DEC工MALD工G
FLTD工G
FLTEPS工LON
FLTEVALMETHOD
FLTM^_r巾D工G
FLTMAX
FLTMAXlOEXP
FLTMAXEXp
FLTM工N
FLTM工Nl0EXP
FLTM工NEXP
FLTRAD工X
FLTROUNDS
LDBLD工G
LDBLEPS工LON
参见第21章。
CNiLEASTⅣpRIoMAXPR工xPTR
imaxabBPRl0ⅣPRIXPTR
imaxdivPRIoPTRSCNdFASTⅣ
imaxdivtPR工uFASTNSCNdL宴ASTⅣ
PR工dFASTNPRIuL肽STⅣSCNd鼢X
PR工dLEASTNpR工uMAXSCNdⅣ
pRIdMAXPRIuNSCNdPTR
PR工dⅣPRIuPTRSCNiFASTⅣ
pR工dpTRPRIxFASTNSCNiMAX
pR工iFASTⅣPR工XFASTⅣSCNiⅣ
PR工iLEASTⅣPRIxLBASTⅣSCNipTR
PR工iMAXpR工XLEASTⅣSCNoFASTⅣ
pRIiNpR工xMAX8CNoLEASTⅣ
PRIiPTRPRIXMAXSCNoM酗C
pRIoFASTNPR工】‘ⅣSCNoN
PR工oLEASTNPR工XNSCNoPTR
3.8is0646.h
参见ll.5节。
这个头文件是C89增补l中增加的。
andbitotnoteq
andeqcomplor
bitandnotoreq
3.9Iimits.h
参见表5—2。
CHARB工T
CHARM^X
CHARM工N
工NTMAX
INTM工N
3.10Iocale.h
参见第20章。
LCALL
LCCOLLATE
LCCTYPE
3.11math.h
参见第17章。
LLONGMAX
LLONGM工N
LONGMAX
LONGM工N
MBLENMAX
LCMONETARY
LCmT帆R工C
LCT工ME
SCHAR姓X
SCHARM工N
SHRTMAX
SHRTM工N
UCHARMAX
LDBLMANTD工G
LDBLMAX
LDBLMAXlOEXp
LDBLMAXEXp
LDBLM工N
LDBLM工Nl0EXP
LDBLM工NEXP
SCNuFASTⅣ
SCNuLEAST.Ⅳ
SCNuMAX
SCNuⅣ
SCNupTR
SCNxFASTⅣ
SCNxLEASTⅣ
SCNxMAX
SCNxN
SCNxPTR
Btrtoimax
8trtoumax
wc8toimax
WC日toumax
Xor
xor.eq
U工NTMAX
Ul-LONGMAX
ULONGMAX
USHRTMAX
Iconv8etlocale
localeconv
NULL
囤
圈
acoBh
aceshf
ac08hl
acesl
aBin
asinf
aBinh
aminhf
a8inhl
asinl
atan
atan2
atan2f
atan21
atanf
atanh
atanhf
atanhl
atanl
cbrt
cbrtf
cbrtl
ceil
ceilf
ceill一
copysign
copysignf
copysignl
C08
c08f
cobh
camhf
iogf
logl
irint
irintf
irintl
1Eoulld
Iroundf
IrourLdl
MATHERREXCEPT
math
orrhandling
MATH—ERRNO
me'
df
medff
medfl
NAN
nan
nanf
doublet
erf
erfc
erfcf
erfcl
erff
erfl
exp
exp2
exp2f
exp21
expf
expl
expml
expmlf
expmll
fabB
fabsf
fab91
fdim
fdimf
fdiml
fleart
fleer
floorf
floorl
fma
fmaf
fmal
fmax
fmaxf
fmaxl
nanl
nearbyint
nearbyintf
nearbyintl
nextaftar
nextaftarf
nextafterl
nexttoward
nexttowardf
nexttowardl
pow
powf
pewl
remaindor
remainderf
remainderl
remquo
remquof
fminl
fmod
fmodf
fmodl
FPCONTRACT
FpFASTFMA
FPFASTFMAF
FpFASTFMAL
FP工LOGB0
FP工LOGBNAN
FP工NF工NITE
FPNAN
FPNORMAL
FPSUBNORMAL
FPZERO
fpclassify
frexp
frexpf
frexpl
HUGEVAL
HUGEVALF
HUGEVALL
hypot
hypotf
hypotl
ilogb
ilogbf
ilogbl
工NF工N工TY
i8finite
isgreater
isgreaterequal
remquol
tint
rintf
rintl
faund
roundf
roundl
scalbin
scalbinf
acalblnl
scalbn
scalbnf
scalbnl
signbit
8in
8inf
8inh
Binhf
islessequal
iBle8亭greater
isnan
isnormal
i暑dnorderedldex
p
Idexpf
idexpl
igamma
igammaf
iganmal
1irint.
1irintf
1irintl
11faund
1iroundf
11roundllog
logl0
loglof
logl01
loglp
loglpf
loglpl
l092
l092f
l0921
logb
logbf
logbl
8inhl
Binl
sqrt
sqrtf
sqrtl
tan
tanf
tanh
tanhf
tanhl
tanl
tgma
tgammaf
tgammal
trune
truncf
truncl
第l0章库简介229
1.3.12setjmp.h
参见l9.4节。
J=p—buf
1.3。
13signal.h
参见l9.6节。
rai8e
sig_atomic—t
SIG—DFL
1.3.14stdar9.h
参见ll.4节。
vaarg
va_copy
.3.15stdb001.h
参见ll.3节。
10ngJmp
S工GERR
S工G工GN
S工GABRT
Vaend
vali8t
b001
jooi—true—false—are—defined
.3.16stddef.h,
参见ll.1节。
offsetof
.etJmp
S工GFpE
SIG工LL
S工GINT
va8tart
falBe
true
ptrdiff——twchar——t
size——t
.3.17stdint.h
工NTFASTⅣMAX
工NTFASTⅣM工N
intfastNt
工NTLEASTNMAX
工NTL皇ASTNM工N
intleastNt
INTl‘AXC
工NTMAXMAX
工NTMAXM工N
intmaxt
3.18stdi0.h
参见第l5章。
BUFS工Z
clearerr
EOF
fclose
feof
ferror
fflush
fgstc
fgetpos
工NTNC
INTN眦
工NTNM工N
intNt
工NTPTRMAX
工NTPTRM工N
intptrt
pTRD工FFMAX
PTRD工FFM工N
S工GATOM工CMAX
fputs
fread
freopen
fscanf
feesk
fsetpos
ftell
fwrite
getc
S工GATOM工CM工N
S工ZEMAX
U工NTFASTNMAX
uintfastNt
U工NTLEASTNM醯
uIntleastNt
U工NTM^XC
U工NTMAXM敞
uIntmaxt
U工NTⅣC
printf
putc
putchar
puts
remove
rename
rewlnd
8canf
SEEKCUR
slgnal
S工GSEGV
S工GTERM
U工NTNMAX
uintNt
U工NTPTRMAX
uintptrt
WCnRMAX
WCltARM工N
W工NTMAX
W工NTM工N
8tderr
Btdin
Btdout
TMPMAX
tmpflle
t柚pnjIm
ungetc
vfprintf
vfscanf
fgets
F工LE
FILENAMEMAX
fopen
FOPENMAX
fpost
fprintf
fputc
10.3.19stdlib.h
参见第16章。
abort
ab8
atexit
atof
atoi
atol
at011
b8@arch
calloc
div
divt
exit
10.3.20strin9.h
参见第13章。
memchr
memcmp
memcpy
memmoVe
memBet
NULL
getehar
gets
工OFBF
工OLBF
工ONBF
L_tJnpnam
perror
Exit
EX工TFA工LmtE
EX工TSUCCESS
free
getenv
lab8
ldiv
ldivt
11ab8
1ldiv
lldivt
malloc
8izet
8trcat
亭trchr
Btromp
日treoll
8trcPy
10.3.21tgmath.h
参见l7.12节。
aC08
ac08h
a目in
a目inh
atanh
clmag
conJ
copysign
C0目
cobh
cproJ
creal
err
exP
expml
fab8
floor
fmin
8EEKEND
SEEKSET
Betbuf
setvbuf
Bizet
snprintf
sprintf
昌scanf
MBCURMAX
mblen
mbstowc日
mbtowc
qsort
rand
RANDMAX
realloc
sEand
Btrtod
日trc8pn
8trerror
8trlen
日trncat
日trncmp
8trncpy
hypot
ldexp
lgamIa
11tint
11round
log
loglO
1tint
1round
nearbyint
nextafter
lrprintf
vscanf
vsnprintf
v日printf
vB日eanf
8trtof
Btrt01
日trt01d
8trt011
8trtoul
8trtoull
gy8tem
wchart
wC8toT,nhs
wctomb
strpbrk
暑trrchr
目trspn
日tr8tr
Btrtok
8trxfm
nexttoward
pow
remainder
remquo
round
scalbin
8calbn
日in
日inh
tgaxma
trunc
参见第18章。
asctime
ciock
clockt
CLOCKSpER
3.3.23wchar.h
参见第24章。
btowc
fgetwc
fgetws
fputwc
fputws
fwlde
fwprintf
fwmcanf
ge