午夜精品久久久久久久99热-午夜精品久久久久-午夜精品成人毛片-午夜黄网站-国产日韩精品欧美一区视频-国产日韩精品欧美一区色

memset用法(memset函數及其用法)

memset用法(memset函數及其用法)

庹璇娟 2025-04-11 科技 53 次瀏覽 0個評論

每種類型的變量都有各自的初始化方法,memset() 函數可以說是初始化內存的“萬能函數”,通常為新申請的內存進行初始化工作。它是直接操作內存空間,mem即“內存”(memory)的意思。該函數的原型為:

# include <string.h>void *memset(void *s, int c, unsigned long n);

函數的功能是:將指針變量 s 所指向的前 n 字節的內存單元用一個“整數” c 替換,注意 c 是 int 型。s 是 void* 型的指針變量,所以它可以為任何類型的數據進行初始化。

memset() 的作用是在一段內存塊中填充某個給定的值。因為它只能填充一個值,所以該函數的初始化為原始初始化,無法將變量初始化為程序中需要的數據。用memset初始化完后,后面程序中再向該內存空間中存放需要的數據。

memset 一般使用“0”初始化內存單元,而且通常是給數組或結構體進行初始化。一般的變量如 char、int、float、double 等類型的變量直接初始化即可,沒有必要用 memset。如果用 memset 的話反而顯得麻煩。

當然,數組也可以直接進行初始化,但 memset 是對較大的數組或結構體進行清零初始化的最快方法,因為它是直接對內存進行操作的。

這時有人會問:“字符串數組不是最好用'\0'進行初始化嗎?那么可以用 memset 給字符串數組進行初始化嗎?也就是說參數 c 可以賦值為'\0'嗎?”

可以的。雖然參數 c 要求是一個整數,但是整型和字符型是互通的。但是賦值為 '\0' 和 0 是等價的,因為字符 '\0' 在內存中就是 0。所以在 memset 中初始化為 0 也具有結束標志符 '\0' 的作用,所以通常我們就寫“0”。

memset 函數的第三個參數 n 的值一般用 sizeof() 獲取,這樣比較專業。注意,如果是對指針變量所指向的內存單元進行清零初始化,那么一定要先對這個指針變量進行初始化,即一定要先讓它指向某個有效的地址。而且用memset給指針變量如p所指向的內存單元進行初始化時,n 千萬別寫成 sizeof(p),這是新手經常會犯的錯誤。因為 p 是指針變量,不管 p 指向什么類型的變量,sizeof(p) 的值都是 4。

下面寫一個程序:

# include <stdio.h># include <string.h>int main(void){ int i; //循環變量 char str[10]; char *p = str; memset(str, 0, sizeof(str)); //只能寫sizeof(str), 不能寫sizeof(p) for (i=0; i<10; ++i) { printf("%d\x20", str[i]); } printf("\n"); return 0;}

根據memset函數的不同,輸出結果也不同,分為以下幾種情況:

memset函數及其用法,C語言memset函數詳解

轉載請注明來自夕逆IT,本文標題:《memset用法(memset函數及其用法)》

每一天,每一秒,你所做的決定都會改變你的人生!

發表評論

快捷回復:

評論列表 (暫無評論,53人圍觀)參與討論

還沒有評論,來說兩句吧...

主站蜘蛛池模板: 亚洲精品www久久久久久 | 波多野结衣电影网址 | 亚洲视频你懂的 | 欧美靠逼视频 | 久久久精品日本一区二区三区 | 亚洲人成一区二区不卡 | 中文字幕日韩精品有码视频 | 男女男精品网站免费观看 | 国产黄色免费看 | 国产亚洲综合精品一区二区三区 | 激情综合网婷婷 | 亚洲自拍偷拍视频 | 在线aa | 日韩久久综合 | 日本不卡高清免费v日本 | 欧美精品免费专区在线观看 | 中文字幕电影资源网站大全 | 亚洲一级爽片 | 中国国产成人精品久久 | 亚洲精品成人a在线观看 | 在线观看亚洲国产 | 精品视频免费观看 | 亚洲精品一二三区-久久 | 中文国产成人精品久久水 | 波多野结衣中文字幕在线视频 | 在线免费精品视频 | 一区二区三区不卡免费视频97 | 亚洲国产福利精品一区二区 | 婷婷激情小说网 | 一级片在线免费观看 | 在线观看视频黄色 | 亚洲精品午夜在线观看 | 男人的天堂v | 自拍偷拍亚洲第一页 | 欧美在线免费观看视频 | 亚洲 成人 欧美 自拍 | 伊人网大 | 在线免费国产 | 免费播放国产一级 | 婷婷色香五月激情综合2020 | 久久久亚洲精品视频 |