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函式
- C++ 逆向之 move 函式C++函式
- C++之函式過載C++函式
- 【C/C++】memset方法的誤區C++
- C++多型之虛擬函式C++多型函式
- C++函式C++函式
- C++ 逆向之 main 函式的查詢C++AI函式
- C++之類解構函式為什麼是虛擬函式C++函式
- memset
- c++ Beep函式C++函式
- c++函式模板C++函式
- C++ 建構函式和解構函式C++函式
- C++中函式指標與函式物件C++函式指標物件
- c++ 函式指標C++函式指標
- 函式回撥(C++)函式C++
- c++的remove函式C++REM函式
- C++解構函式C++函式
- C++ replace() 函式用法C++函式
- C++中strlen函式C++函式
- C++靜態函式C++函式
- C++(函式指標)C++函式指標
- C++函式模板案例C++函式
- C++ 序列操作函式C++函式
- C++函式過載C++函式
- Kotlin之“with”函式和“apply”函式Kotlin函式APP
- c++虛擬函式表C++函式
- c++ const 成員函式C++函式
- c++內建函式物件C++函式物件
- C++逐字輸出函式C++函式
- C++回撥函式 用法C++函式
- C++ 函式 realloc 的用法C++函式
- c++中內建函式C++函式
- C++ 類成員函式C++函式
- C++(常量成員函式)C++函式
- C++入門記-建構函式和解構函式C++函式
- [C++] 成員函式指標和函式指標C++函式指標