memset函數(shù)用法 一個函數(shù)的用法memset?
一個函數(shù)的用法memset?例如,一個struct student x可以如下清除:memset(&x,0,sizeof(student))如果它是一個struct student x的數(shù)組[1
一個函數(shù)的用法memset?
例如,一個struct student x可以如下清除:
memset(&x,0,sizeof(student))
如果它是一個struct student x的數(shù)組[10],它可以如下:
memset(x,0,sizeof(student)*10)
memset函數(shù)指定void*memset(void*s,int c,sizeuTotal函數(shù):設(shè)置將打開的內(nèi)存空間s轉(zhuǎn)換為值C。
用memset這個函數(shù)要包含什么頭文件?
memset函數(shù)的格式為:memset(array name,value,sizeof)。記住,要使用memset,需要添加字符串。函數(shù)開頭的H頭文件。建議僅使用memset函數(shù)分配0/-1。因為memset是按字節(jié)分配的,所以給每個字節(jié)分配相同的值,因此int的四個字節(jié)將附加相同的值。0的二進(jìn)制代碼都是0,-1的二進(jìn)制補(bǔ)碼都是1。因此,當(dāng)值被賦給1時,1的一個字節(jié)是0000 0001,int值是0000 0001 0000 0001 0000 0001 0000 0001 0000 0001 0000 00001的四個字節(jié)。輸出值轉(zhuǎn)換為十進(jìn)制,即16843009。因此,如果將其他數(shù)字分配給數(shù)組,請使用fill函數(shù)(但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