,if語句,while語句。
第一篇就以許多公司喜歡面試的一道題開始吧:
strcpy的實現(為了區別,函式名首字母大寫,以後都是):
// strcpy
#include char *strcpy(char *dest, const char *src)
int main(int argc, char **ar**)
1、strcpy返回的是個指標,貌似這不太好。
2、函式體裡也沒什麼記憶體檢查,極易出錯。(推薦使用strncpy, more:
還要注意的是,當兩個字串(或兩個指標指向的字串)重疊時,用strcpy是未定義的。比如:
#include #include char *strcpy(char *dest, const char *src)
int main(int argc, char **ar**)
未定義的行為都是錯的,即使對的,也是巧合,要禁止!
2012/10/11
more:
庫函式原始碼剖析系列 6 strchr
strchr strchr include char strchr const char s,int c return char s int main int argc,char argv 1 當傳入的指標是null時,函式中是沒有檢查的。char strchr const char s,int c...
glibc fread函式原始碼剖析
最近看apue,看到了fread函式,就把之前想分析的乙個函式借這個機會研究一下。先寫個程式,呼叫一下fread函式。include int main 好了,還是咱們的老套路,通過gdb可以直接定位到fread的原始碼,原始碼如下,位於.libio iofread.c。io size t io fr...
Select函式原始碼剖析
select是最基礎的io復用函式,對於其實現,做了一定的了解,記錄如下 原始碼一進來就可以發現,它的事件是通過巨集來實現的 define fds in fds,n fds in n 讀事件 define fds out fds,n fds out n 寫事件 define fds ex fds,n...