
- C標準庫
- C庫 - 首頁
- C庫 - <assert.h>
- C庫 - <complex.h>
- C庫 - <ctype.h>
- C庫 - <errno.h>
- C庫 - <fenv.h>
- C庫 - <float.h>
- C庫 - <inttypes.h>
- C庫 - <iso646.h>
- C庫 - <limits.h>
- C庫 - <locale.h>
- C庫 - <math.h>
- C庫 - <setjmp.h>
- C庫 - <signal.h>
- C庫 - <stdalign.h>
- C庫 - <stdarg.h>
- C庫 - <stdbool.h>
- C庫 - <stddef.h>
- C庫 - <stdio.h>
- C庫 - <stdlib.h>
- C庫 - <string.h>
- C庫 - <tgmath.h>
- C庫 - <time.h>
- C庫 - <wctype.h>
- C程式設計資源
- C程式設計 - 教程
- C - 有用資源
C庫 - memset() 函式
C庫函式`memset()` 的型別為 void,它接受三個變數作為引數,將字元 c(一個無符號字元)複製到引數 str 指向的字串的前 n 個字元。
此函式用於使用特定值填充連續的記憶體塊。它還將字元的值轉換為無符號字元,並將其複製到給定字串指向的物件的前 n 個字元中的每一個。如果 n 大於字串大小,則結果未定義。
語法
以下是C庫函式`memset()` 的語法:
void *memset(void *str, int c, size_t n)
引數
此函式接受以下引數:
str - 這是指向要填充的記憶體塊的指標。
c -
這是第二個引數,型別為整數,在用於填充記憶體塊之前將其轉換為無符號字元。n - 這是要設定為該值的位元組數。
返回值
此函式返回指向記憶體區域 str 的指標。
示例 1
在這個例子中,我們使用 C 庫函式 `memset()` 設定初始字串,並使用 memset() 函式修改字串內容。
#include <stdio.h> #include <string.h> int main () { char str[50]; strcpy(str, "Welcome to Tutorialspoint"); puts(str); memset(str, '#', 7); puts(str); return(0); }
輸出
以上程式碼產生以下結果:
Welcome to Tutorialspoint ####### to Tutorialspoint
示例 2
下面的程式使用 memset() 初始化一個整數陣列為零。
#include <stdio.h> #include <string.h> int main() { int arr[10]; memset(arr, 0, sizeof(arr)); printf("Array after memset(): "); for (int i = 0; i < 10; i++) { printf("%d ", arr[i]); } printf("\n"); return 0; }
輸出
執行上述程式碼後,我們將得到以下結果:
Array after memset(): 0 0 0 0 0 0 0 0 0 0
示例 3
在這裡,我們建立一個 C 程式,使用 memset() 初始化字元陣列為特定字元 ('Z')。
#include <stdio.h> #include <string.h> int main() { char str[20]; memset(str, 'Z', 10); printf("String after memset(): %s\n", str); return 0; }
執行程式碼後,我們將得到以下結果:
String after memset(): ZZZZZZZZZZ
廣告