C语言--memset()
生活随笔
收集整理的這篇文章主要介紹了
C语言--memset()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
概述
memset是計算機中C語言初始化函數(一般位于string.h頭文件中)。作用是將某一塊內存中的內容全部設置為指定的值(以byte為單位), 這個函數通常為新申請的內存做初始化工作。
void *memset(void *s, int ch, size_t n); 函數解釋:將s中當前位置后面的n個字節 (typedef unsigned int size_t )用 ch 替換并返回 s 。 memset:作用是在一段內存塊中填充某個給定的值,它是對較大的結構體或數組進行清零操作的一種最快方法。 memset()函數原型是extern void *memset(void *buffer, int c, int count) buffer:為指針或是數組,c:是賦給buffer的值,count:是buffer的長度. 備注:ch實際范圍應該在0~~255,因為該函數只能取ch的后八位賦值給你所輸入的范圍的每個字節。舉例
#include<stdio.h> int main(void) {int data[10];memset(data,1,sizeof(data));for(int i = 0; i < 10; i++){printf("%d\t",data[i]); }return 0; }16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009 16843009
解釋:1對應0x01,0x01010101 =?16843009
#include<stdio.h> int main(void) {int data[10];memset(data,60000,sizeof(data));for(int i = 0; i < 10; i++){printf("%d\t",data[i]); }return 0; }1616928864 1616928864 1616928864 1616928864 1616928864 1616928864 1616928864 1616928864 1616928864 1616928864
解釋:60000對應0xEA60,0x60606060 =?1616928864
#include<stdio.h> int main(void) {int data[10];memset(data,-1,sizeof(data));for(int i = 0; i < 10; i++){printf("%d\t",data[i]); }return 0; }-1 -1 -1 -1 -1 -1 -1 -1 -1 -1
?解釋:-1對應0xFF,0xFFFFFFFF =?-1
總結
以上是生活随笔為你收集整理的C语言--memset()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 02功能之读写文件流操作(C语言实现读取
- 下一篇: 什么是华为认证?HCIA HCIP HC