C++之memset函式
memset()是char型初始化函式。
標頭檔案
#include <string.h>
//或者
#include <memory.h>
函式原型
void *memset(void *s,int ch,size_t n);
功能:講s所指向的某一塊記憶體中的前n個自己的全部內容設定為ch指定的ASCII值。第一個引數為指定記憶體的開始地址,第三個引數為指定記憶體的大小,第二個引數為初始化的內容以ASCII碼錶示。
注:這個函式為新申請的記憶體做初始化工作,其返回值為指向s的指標,它是對較大結構體或陣列進行清零操作的一種最快方法。
使用
memset(結構體/陣列名 , 用於替換的ASCII碼對應字元 , 前n個字元 );
memset(結構體/陣列名 , "用於替換的字元“ , 前n個字元 );
函式解釋:將s中的前n個位元組用ch替換並且返回s
函式作用:在一段記憶體塊中填充某一個給定的值,常用於較大的對結構體和陣列的清零操作。
#include<iostream>
//#include"string.h"
using namespace std;
int main()
{
char str[10];
str[9] = 'w';
memset(str,97,9);
for(int i=0;i<10;i++){
cout<<str[i]<<" ";
}
return 0;
}
輸出:a a a a a a a a a w
注意
1.memset是以位元組為單位,初始化記憶體塊。
2.當結構體型別中包含指標時,在使用memset初始化時需要小心。
3.當結構體或類的本身或其基類中存在虛擬函式時,也需要謹慎使用memset。
相關文章
- fill函式與memset函式的區別(c++)函式C++
- memset函式函式
- strcpy,strncpy,memcpy,memmove,memset函式memcpy函式
- memset函式詳細說明函式
- C++之函式過載C++函式
- 【C/C++】memset方法的誤區C++
- C++多型之虛擬函式C++多型函式
- C++函式C++函式
- 【C++】函式C++函式
- C++繼承二之虛擬函式C++繼承函式
- C++之類解構函式為什麼是虛擬函式C++函式
- memset
- c++ Beep函式C++函式
- c++函式模板C++函式
- C++仿函式C++函式
- C++ Virtual函式C++函式
- C++ 建構函式和解構函式C++函式
- C++的函式和模板函式 (轉)C++函式
- C++的函式式革命C++函式
- C/C++—— C++中函式重寫和函式過載C++函式
- Effective c++(筆記)----類與函式之實現C++筆記函式
- C++/CLI思辨錄之拷貝建構函式C++函式
- C++中函式指標與函式物件C++函式指標物件
- C++ 類建構函式和解構函式C++函式
- c++中訊息函式 -- GetMessage函式C++函式
- C++ replace() 函式用法C++函式
- C++中strlen函式C++函式
- C++解構函式C++函式
- C++函式過載C++函式
- c++ 函式指標C++函式指標
- C++ 序列操作函式C++函式
- 【C++】建構函式C++函式
- C++ 虛擬函式C++函式
- C++建構函式C++函式
- C++ -- TranslateMessage函式C++函式
- C++虛擬函式C++函式
- C++筆記--函式C++筆記函式
- 函式回撥(C++)函式C++