CC++中memset()函數詳解及其作用介紹_第1頁
CC++中memset()函數詳解及其作用介紹_第2頁
CC++中memset()函數詳解及其作用介紹_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

CC++中memset()函數詳解及其作?介紹memset函數是內存賦值函數,?來給某?塊內存空間進?賦值的;包含在<string.h>頭?件中,可以?它對??內存空間逐字節進?初始化;原型為:void*memset(void*s,intv,size_tn);這?s可以是數組名,也可以是指向某?內在空間的指針;v為要填充的值;n為要填充的字節數;例?:structdata{charnum[100];charname[100];intn;};structdataa,b[10];memset(&a,0,sizeof(a));//注意第?個參數是指針類型,a不是指針變量,要加&memset(b,0,sizeof(b));//b是數組名,就是指針類型,不需要加&例2:charstr[9];我們?memset給str初始化為“00000000”,?法如下memset(str,0,8);注意,memset是逐字節拷貝的。例3:intnum[8];我們?memset給str初始化為{1,1,1,1,1,1,1,1},memset(num,1,8);//這樣是不對的?個int是4個字節的,8個int是32個字節,所以?先要賦值的長度就不應該為8?是32。因為memset是逐字節拷貝,以num為?地址的8字節空間都被賦值為1,即?個int變為0X00000001000000010000000100000001,顯然,把這個數化為?進制不會等于1的。所以,在memset使?時要千萬??,在給char以外的數組賦值時,只能初始化為0或者-1。(如果?memset(a,1,20);就是對a指向的內存的20個字節進?賦值,每個都?ASCII為1的字符去填充,轉為?進制后,1就是00000001,占?個字節。?個INT元素是4字節,合?起就是1000000010000000100000001,就等于16843009,就完成了對?個INT元素的賦值了。)#include<memory.h>//我試了?下,C語?這么?,C++還可以?<cstring>#include<stdio.h>voidmain(void){charbuffer[]="Thisisatestofthememsetfunction";printf("Before:%s\n",buffer);memset(buffer,'*',4);printf("After:%s\n",buffer);}輸出:Before:ThisisatestofthememsetfunctionAfter:****isatestofthememsetfunction到此這篇關于C/C++中memset()函數詳解及其作?介紹的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論