和float.h相比較limits.h主要對整形數和字元型資料的的邊界做了一些限制,標頭檔案的內容很簡單,不過他的作用很大,可以讓你的程式在不同環境下都可以正常執行,比如,int型別有可能是16位,32位甚至64位,假如你在int型別佔16位的機器上想使用int型別的最大值,如果沒有limit.h那你只能寫乙個數值65535,但是如果你的程式在32位的機器上或者64位的機器上跑,程式可能就會有問題,而limits.h就解決了這個問題,如果你想使用int型別的最大值,只需要用int_max
這個巨集就可以了,這樣,在任何符合標準的機器上,你的程式都不會有問題。
limits.h中的巨集定義很簡單,大概有下面這些
char_bit
表示char
型別所佔的位數
char_min
表示char
的最小值
char_max
表示char
的最大值
schar_min
表示signed char
的最小值
schar_max
表示signed char
的最大值
uchar_max
表示unsigned char
的最大值
shrt_min
表示short
的最小值
shrt_max
表示short
的最大值
ushrt_max
表示unsigned short
的最大值
int_min
表示int
的最小值
int_max
表示int
的最大值
uint_max
表示unsigned int
的最大值
long_max
表示long
的最大值
long_min
表示long
的最小值
ulong_max
表示unsigned long
的最大值
llong_min
表示long long
的最小值
llong_max
表示long long
的最大值
ullong_max
表示unsigned long long
的最大值
這個標頭檔案的內容不太多,主要就是為了移植做了一些限制,如果你想在程式中使用這些邊界值的話,一定要使用系統定義的巨集,否則在不同平台使用的時候,可能會有一些莫名其妙的錯誤。
Linux下C庫學習 math h
眾所周知,如果你想使用一些數學函式,那麼就需要包含math.h,這裡面基本包含了所有常用的數學函式 sin,cos,tan 以及數學常量 pi 等等,既然c庫裡面開發好了,那我們就看看到底裡面都有什麼。既然是數學函式庫,首先我們就需要對運算元進行限制,比如0不能作為除數,對負數開方,對負數求對數等等...
Linux下C庫學習 string h
string.h中包含了我們平常所用的所有字元處理函式,除此以外還有記憶體管理函式 void memchr const void s,int c,size t n 在某一記憶體範圍中查詢一特定字元 intmemcmp const void s1,const void s2,size t n 比較記憶...
Linux下C 動態庫
本人是剛畢業的大學生一枚,這是寫的第一篇部落格,若有不對的地方,懇請指正!由於工作原因,不得已在linux下開發專案,而且還是用c 對於c 本人是有一些白痴的。專案完成,在此做一下總結,給自己乙個交代。首先先對動態庫方面的只是做乙個總結 1 動態庫的簡單介紹 首先,動態庫就是動態鏈結庫,本人有些懶,...