c語言memset函數用法 一個函數的用法memset?
一個函數的用法memset?應用一段內存后,例如int*P=nullp=malloc(10*sizeof(int))//應用了10個int類型內存memset(P,0,10*sizeof(int))/
一個函數的用法memset?
應用一段內存后,例如int*P=nullp=malloc(10*sizeof(int))//應用了10個int類型內存memset(P,0,10*sizeof(int))//所有這些memset都被初始化為0memset,用于將快速連續(xù)內存初始化為給定的值。示例/*memset。C:這個程序使用memset*將緩沖區(qū)的前四個字節(jié)設置為“*”。*/#include
memset函數的格式是:memset(array name,value,sizeof(array name))。記住,要使用memset,需要添加字符串。函數開頭的H頭文件。建議僅使用memset函數分配0/-1。因為memset是按字節(jié)分配的,所以給每個字節(jié)分配相同的值,因此int的四個字節(jié)將附加相同的值。0的二進制代碼都是0,-1的二進制補碼都是1。因此,當值被賦給1時,1的一個字節(jié)是0000 0001,int值是0000 0001 0000 0001 0000 0001 0000 0001 0000 0001 0000 00001的四個字節(jié)。輸出值轉換為十進制,即16843009。因此,如果將其他數字分配給數組,請使用fill函數(但memset更快):#include<stdio。H>#包含<string。H> int main(){int a[5]={1,2,3,4,5}memset(a,0,sizeof(a))(int i=0,i< 5 i){printf(%d,a[i])}printf(“n”)memset(a,1,sizeof(a))(int i=0 i< 5 i){printf(%d,a[i])}printf返回0}輸出0 000 0 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009