c語言標准庫文件
⑴ 在C中,什麼是標准庫函數
在c語言程序設計里,C 標准函數庫(C Standard library) 是所有符合標準的頭文件(head file)的集合,以及常用的函數庫實現程序,例如I/O 輸入輸出和字元串控制。不像COBOL、Fortran和PL/I等編程語言,在 C 語言的工作任務里不會包含嵌入的關鍵字,所以幾乎所有的 C 語言程序都是由標准函數庫的函數來創建的。
每一個函數的名稱與特性會被寫成一個電腦文件,這個文件就稱為頭文件,但是實際的函數實現是被分存到函數庫文件里。頭文件的命名和領域是很常見的,但是函數庫的組織架構也會因為不同的編譯器而有所不同。標准函數庫通常會隨附在編譯器上。因為 C 編譯器常會提供一些額外的非ANSI C函數功能,所以某個隨附在特定編譯器上的標准函數庫,對其他不同的編譯器來說,是不兼容的。
⑵ C語言的庫函數放在什麼地方(在什麼目錄里)
C語言的庫函數在LIB目錄裡面。
庫函數是將函數封裝入庫,供用戶使用的一種方式。方法是把一些常用到的函數編完放到一個文件里,供不同的人進行調用。調用的時候把它所在的文件名用#include<>加到裡面就可以了。一般是放到lib文件里的。
(2)c語言標准庫文件擴展閱讀:
C語言的語句十分簡單,如果要使用C語言的語句直接計算sin或cos函數,就需要編寫頗為復雜的程序。因為C語言的語句中沒有提供直接計算sin或cos函數的語句。又如為了顯示一段文字,我們在C語言中也找不到顯示語句,只能使用庫函數printf。
C語言的庫函數並不是C語言本身的一部分,它是由編譯程序根據一般用戶的需要編制並提供用戶使用的一組程序。C的庫函數極大地方便了用戶,同時也補充了C語言本身的不足。事實上,在編寫C語言程序時,應當盡可能多地使用庫函數,這樣既可以提高程序的運行效率,又可以提高編程的質量。
⑶ 什麼是C語言標准函數庫平常用的哪些函數屬於標准函數庫
你會發現,有一些頭文件(比如stdlib.h,stdio.h)每一個編譯器都有,而裡面的函數(如printf,malloc)每一個編譯器都支持。這些函數組成的集合就是標准函數庫。平常用的函數基本都屬於標准函數庫。
ANSI對此是有規定的
⑷ C語言中頭文件stdlib.h是干什麼用的,怎麼用
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語言為了方便用戶編寫程序,為用戶開發了大量的庫函數,其定義在.h文件中,用戶可以調用這些函數實現強大的功能。所以對於用戶來說,掌握這些函數的用法是提高編程水平的關鍵。
(4)c語言標准庫文件擴展閱讀:
包含的函數舉例
輸入樣式: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
⑸ C語言中的#include<stdlib.h>是什麼意思
是C語言中的一個頭文件,stdlib 頭文件里包含了C語言的一些函數,該文件包含了的C語言標准庫函數的定義。
1、意思是標准輸入輸出頭文件。
2、用到標准輸入輸出函數時,就要調用這個頭文件。
3、stdlib.h中,包含了C語言的一些常用且方便的庫函數。
4、如動態內存相關的malloc, realloc,zalloc,calloc,free等。
拓展資料
1、C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
2、盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
⑹ 在C語言里標准函數存放在什麼文件中
C語言標准庫函數存放在頭文件當中,使用相應函數時需要用include引用先關頭文件。
C語言程序設計里,C 標准函數(C Standard library)是所有目前符合標準的頭文件(head
file)的集合,以及常用的函數庫實現程序,例如 I/O輸入輸出和字串符控制。不像 COBOL、Forrian和 PL/I等編程語言,在 C
語言的工作任務里不會包含嵌入的關鍵字,所以幾乎所有的 C 語言程序都是由標准函數庫的函數來創建的。下面列出C89及C99中C語言標准函數庫的頭文件。
C89中標準的頭文件
<assert.h> 設定斷言點
<ctype.h> 字元處理
<errno.h> 錯誤報告
<float.h> 定義與實現相關的浮點值勤
<limits.h> 定義與實現相關的各種極限值
<locale.h> 支持函數setlocale()
<math.h> 數學函數庫使用的各種定義
<setjmp.h> 支持非局部跳轉
<signal.h> 定義信號值
<stdarg.h> 支持可變長度的變元列表
<stddef.h> 定義常用常數
<stdio.h> 支持文件輸入和輸出
<stdlib.h> 其他各種聲明
<string.h> 支持串函數
<time.h> 支持系統時間函數
C99新增的頭文件和庫
<complex.h> 支持復數演算法
<fenv.h> 給出對浮點狀態標記和浮點環境的其他方面的訪問
<inttypes.h> 定義標準的、可移植的整型類型集合。也支持處理最大寬度整數的函數
<iso646.h> 首先在此1995年第一次修訂時引進,用於定義對應各種運算符的宏
<stdbool.h> 支持布爾數據類型類型。定義宏bool,以便兼容於C++
<stdint.h> 定義標準的、可移植的整型類型集合。該文件包含在<inttypes.h>中
<tgmath.h> 定義一般類型的浮點宏
<wchar.h> 首先在1995年第一次修訂時引進,用於支持多位元組和寬位元組函數
<wctype.h> 首先在1995年第一次修訂時引進,用於支持多位元組和寬位元組分類函數
⑺ C語言庫文件(頭文件)有哪些
下面給出Turbo C的全部".h"文件。Turbo C頭文件:
頭文件
說明
alloc.h 說明內存管理函數(分配、釋放等)。
assert.h 定義 assert調試宏。
bios.h 說明調用IBM—PC ROM BIOS子程序的各個函數。
conio.h 說明調用DOS控制台I/O子程序的各個函數。
ctype.h 包含有關字元分類及轉換的名類信息(如 isalpha和toascii等)。
dir.h 包含有關目錄和路徑的結構、宏定義和函數。
dos.h 定義和說明MSDOS和8086調用的一些常量和函數。
error.h 定義錯誤代碼的助記符。
fcntl.h 定義在與open庫子程序連接時的符號常量。
float.h 包含有關浮點運算的一些參數和函數。
graphics.h 說明有關圖形功能的各個函數,圖形錯誤代碼的常量定義,正對不同驅動程序的各種顏色值,及函數用到的一些特殊結構。
io.h 包含低級I/O子程序的結構和說明。
limit.h 包含各環境參數、編譯時間限制、數的范圍等信息。
math.h 說明數學運算函數,還定了 HUGE VAL 宏, 說明了matherr和matherr子程序用到的特殊結構。
mem.h 說明一些內存操作函數(其中大多數也在STRING.H中說明)。
process.h 說明進程管理的各個函數,spawn…和EXEC …函數的結構說明。
setjmp.h 定義longjmp和setjmp函數用到的jmp buf類型,說明這兩個函數。
share.h 定義文件共享函數的參數。
signal.h 定義SIG[ZZ(Z] [ZZ)]IGN和SIG[ZZ(Z] [ZZ)]DFL常量,說明rajse和signal兩個函數。
stddef.h 定義讀函數參數表的宏。(如vprintf,vscarf函數)。
stddef.h 定義一些公共數據類型和宏。
stdio.h 定義Kernighan和Ritchie在Unix System V 中定義的標准和擴展的類型和宏。還定義標准I/O 預定義流:stdin,stdout和stderr,說明 I/O流子程序。
stdlib.h 說明一些常用的子程序:轉換子程序、搜索/ 排序子程序等。
string.h 說明一些串操作和內存操作函數。
sys\stat.h 定義在打開和創建文件時用到的一些符號常量。
sys\types.h 說明ftime函數和timeb結構。
sys\time.h 定義時間的類型time[ZZ(Z] [ZZ)]t。
time.h 定義時間轉換子程序asctime、localtime和gmtime的結構,ctime、 difftime、 gmtime、 localtime和stime用到的類型,並提供這些函數的原型。
value.h 定義一些重要常量,包括依賴於機器硬體的和為與Unix System V相兼容而說明的一些常量,包括浮點和雙精度值的范圍。C系統提供了豐富的系統文件,稱為庫文件。C的庫文件分為兩類,一類是擴展名為".h"的文件,稱為頭文件,在前面的包含命令中我們已多次使用過。在".h"文件中包含了常量定義、 類型定義、宏定義、函數原型以及各種編譯選擇設置等信息。另一類是函數庫,包括了各種函數的目標代碼,供用戶在程序中調用。通常在程序中調用一個庫函數時,要在調用之前包含該函數原型所在的".h" 文件。
⑻ C語言如何生成庫文件
有一些代碼,我們編程時經常用到,或者我們對某些部分很熟悉,並寫出了一些可用的介面。這時,我們會考慮把這些c文件做成一個lib庫,以方便自己使用,或這給別人調用。
我這里介紹下在vc++6.0下如何來製作靜態庫:
第一步:創建一個工程,選擇Win32Static Library,輸入工程名。這時就創建好了。
第二步:工程創建好了,再點擊新建,這時選擇文件,選擇c++ source file選項,創建一個.c
文件。
在這個文件中,你可以寫入你要做成庫的c函數。當然,可以繼續創建其他c文件,然後將要供外部使用的介面單獨放到頭文件中,一般而言,一個c文件對應一個頭文件。
第三步:完成以上步驟後,我們就可以生成庫了。事實上,我們點擊編譯即可,這時就可以生成.lib文件了。
一般情況下,是可以正常生成lib文件的。有頭文件和lib文件就可以給別人用了。然後我們可以寫一個測試函數來試試可不可以使用。
要調用生成的lib中的函數,就要引入頭函數。這時,你把lib和頭文件放入當前工程中,但build的時候卻顯示了連接錯誤。那是因為你沒有把lib文件包含進來。加入下面這句話即可了:
#pragma comment(lib, "mylib.lib ")
Ok,自己的lib庫就這樣做成了。以後可以隨便調用了。
⑼ c語言標准庫是怎麼寫的比如要寫一個printf函數,c語言能實現
你會發現,有一些頭文件(比如stdlib.h,stdio.h)每一個編譯器都有,而裡面的函數(如printf,malloc)每一個編譯器都支持。這些函數組成的集合就是標准函數庫。平常用的函數基本都屬於標准函數庫。
ansi對此是有規定的
⑽ 大多數c語言程序都要包含什麼頭文件
stdio.h,包含標准輸入輸出,向屏幕的輸出,文件的讀寫。
stdlib.h,標准庫文件,包含操作系統命令,隨機數,時間函數,等等。
math.h,包括各種數學函數
string.h,字元串的有關函數。