EPANET源碼中用到的幾個簡單C語言函數介紹二

來源:互聯網
上載者:User

1.malloc

原型:extern void *malloc(unsigned int num_bytes);

標頭檔:在TC2.0中可以用malloc.h或 alloc.h (注意:alloc.h 與 malloc.h 的內容是完全一致的),而在Visual C++6.0中可以用malloc.h或者stdlib.h。

功能:分配長度為num_bytes位元組的記憶體塊。  傳回值:傳回型別是 void* 類型。void* 表示未確定類型的指標。C,C++規定,void* 類型可以強制轉換為任何其它類型的指標。如果分配成功則返回指向被分配記憶體的指標,否則返回null 指標NULL。當記憶體不再使用時,應使用free()函數將記憶體塊釋放。  說明:關於該函數的原型,在舊的版本中malloc返回的是char型指標,新的ANSIC標準規定,該函數返回為void型指標,因此必要時要進行類型轉換。  名稱解釋:malloc的全稱是memory allocation,中文叫動態記憶體分配,當無法知道記憶體具體位置的時候,想要綁定真正的記憶體空間,就需要用到動態分配記憶體。 2.calloc  原型: void *calloc(unsigned n,unsigned size)  標頭檔:stdlib.h或malloc.h  功 能: 在記憶體的動態儲存裝置區中分配n個長度為size的連續空間,函數返回一個指向分配起始地址的指標;如果分配不成功,返回NULL。 跟malloc的區別:

 

  calloc在動態分配完記憶體後,自動初始化該記憶體空間為零,而malloc不初始化,裡邊資料是隨機的垃圾資料。3.rewind 用 法: void rewind(FILE *stream);

  標頭檔: stdio.h 

傳回值:無 功 能: 將檔案內部的位置指標重新指向一個流(資料流/檔案)的開頭

 

注意:不是檔案指標而是檔案內部的位置指標,隨著對檔案的讀寫檔案的位置指標(指向當前讀寫位元組)向後移動。而檔案指標是指向整個檔案,如果不重新賦值檔案指標不會改變。 英文釋義:[ri:ˈwaɪnd]  v.倒回(影片、錄音帶等);重繞  n.重繞;倒帶器
4.strchr
原型:extern char *strchr(const char *s,char c);  

標頭檔:#include <string.h>

 

功能:尋找字串s中首次出現字元c的位置

 

說明:返回首次出現c的位置的指標,如果s中不存在c則返回NULL。

 

傳回值:Returns the address of the first occurrence of the character in the string if successful, or NULL otherwise 5.strcspn 原型:size_t strcspn(const char *s1,const char *s2);

 

相關標頭檔:#include <string.h>

 

功能:找到s1與s2中第一個相同的字元,返回這個字元在S1中第一次出現的位置。

 

說明:返回第一個出現的字元在s1中的下標值,亦即在s1中出現而s2中沒有出現的子串的長度。簡單地說,若strcspn()返回的數值為n,則代表字串s1開頭連續有n個字元都不含字串s2內的字元。  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.