C語言中memset函式詳解 很清晰易懂)

2021-08-29 09:49:44 字數 1002 閱讀 2812

功 能:將s所指向的某一塊記憶體中的每個位元組的內容全部設定為ch指定的ascii值,

塊的大小由第三個引數指定,這個函式通常為新申請的記憶體做初始化工作

用 法: void *memset(void *s, char ch, unsigned n);

程式例:

#include

#include

#include

int main(void)

char buffer = "hello world/n";

printf("buffer before memset: %s/n", buffer);

memset(buffer, '*', strlen(buffer) );// //陣列直接首位址傳進去。 主要是對陣列指標的修改!!因為可以被修改而const char int等這些不能被修改 和malloc 配套使用

printf("buffer after memset: %s/n", buffer);

return 0;

輸出結果:

buffer before memset: hello world

buffer after memset: ***********

1。void *memset(void *s,int c,size_t n)

總的作用:將已開闢記憶體空間 s 的首 n 個位元組的值設為值 c。

2。例子

main(){

char *s="golden global view";

clrscr();

memset(s,'g',6);//貌似這裡有點問題//

printf("%s",s);

getchar();

return 0;

【這個問題相當大,程式根本就執行不下去了,你這裡的s志向的是一段唯讀的記憶體,而你memset又試圖修改它,所以執行時要出錯,修改辦法char *s修改為char s】

3。memset() 函式常用於記憶體空間初始化。

C語言中memset函式詳解

功 能 將s所指向的某一塊記憶體中的每個位元組的內容全部設定為ch指定的ascii值,塊的大小由第三個引數指定,這個函式通常為新申請的記憶體做初始化工作 用 法 void memset void s,char ch,unsigned n 程式例 include include include int...

C語言中memset函式詳解

功 能 將s所指向的某一塊記憶體中的每個位元組的內容全部設定為ch指定的ascii值,塊的大小由第三個引數指定,這個函式通常為新申請的記憶體做初始化工作 用 法 void memset void s,char ch,unsigned n 程式例 include include include int...

C語言中memset函式詳解

c語言中memset函式詳解 追夢海星 功 能 將s所指向的某一塊記憶體中的每個位元組的內容全部設定為ch指定的ascii值,塊的大小由第三個引數指定,這個函式通常為新申請的記憶體做初始化工作 用 法 void memset void s,char ch,unsigned n 程式例 include...