歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> [C/C++基礎] C語言常用函數memset的使用方法

[C/C++基礎] C語言常用函數memset的使用方法

日期:2017/3/1 9:29:44   编辑:Linux編程

函數聲明:void *memset(void *s, int ch, size_t n);

用途:為一段內存的每一個字節都賦予ch所代表的值,該值采用ASCII編碼。

所屬函數庫:<memory.h> 或者 <string.h>

參數:(1)s,開始內存的地址;(2)ch和n,從地址s開始,在之後的n字節長度內,把每一個字節的值都賦值為n。

使用舉例:

代碼如下

編譯運行結果

說明:

該函數最常用的用途就是將一段新分配的內存初始化為0。例如我們代碼的第9-10行。

需要注意的是,函數第二個參數的值代表的是即將設置的每個字節的值,因此對於第二個參數不是0的情況要格外小心。例如我們代碼的第12-13行。intArray[0]本來是一個四字節的整數,它的每一個字節都將變成1。第12行運行完畢,intArray[0]的內容如下

(二進制)00000001 00000001 00000001 00000001 = (十進制)16843009

這也是為什麼第13行輸出的結果是16843009。

------------------------------------分割線------------------------------------

C++ Primer Plus 第6版 中文版 清晰有書簽PDF+源代碼 http://www.linuxidc.com/Linux/2014-05/101227.htm

讀C++ Primer 之構造函數陷阱 http://www.linuxidc.com/Linux/2011-08/40176.htm

讀C++ Primer 之智能指針 http://www.linuxidc.com/Linux/2011-08/40177.htm

讀C++ Primer 之句柄類 http://www.linuxidc.com/Linux/2011-08/40175.htm

將C語言梳理一下,分布在以下10個章節中:

  1. Linux-C成長之路(一):Linux下C編程概要 http://www.linuxidc.com/Linux/2014-05/101242.htm
  2. Linux-C成長之路(二):基本數據類型 http://www.linuxidc.com/Linux/2014-05/101242p2.htm
  3. Linux-C成長之路(三):基本IO函數操作 http://www.linuxidc.com/Linux/2014-05/101242p3.htm
  4. Linux-C成長之路(四):運算符 http://www.linuxidc.com/Linux/2014-05/101242p4.htm
  5. Linux-C成長之路(五):控制流 http://www.linuxidc.com/Linux/2014-05/101242p5.htm
  6. Linux-C成長之路(六):函數要義 http://www.linuxidc.com/Linux/2014-05/101242p6.htm
  7. Linux-C成長之路(七):數組與指針 http://www.linuxidc.com/Linux/2014-05/101242p7.htm
  8. Linux-C成長之路(八):存儲類,動態內存 http://www.linuxidc.com/Linux/2014-05/101242p8.htm
  9. Linux-C成長之路(九):復合數據類型 http://www.linuxidc.com/Linux/2014-05/101242p9.htm
  10. Linux-C成長之路(十):其他高級議題

Copyright © Linux教程網 All Rights Reserved