歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> C函數之memset()函數用法

C函數之memset()函數用法

日期:2017/3/1 11:16:47   编辑:Linux編程

1.功能:將s所指向的某一塊內存中的每個字節的內容全部設置為ch指定的ASCII值, 塊的大小由第三個參數指定,這個函數通常為新申請的內存做初始化工作, 其返回值為指向S的指針

2. 需要的頭文件 <memory.h> or <string.h>

3.函數原型:

 void *memset(void *s,int ch, unsigned n)

4.memset可以方便的清空一個結構類型的變量或數組(在程序設計中的主要用法)

如:

struct sample_struct

{

  char csName[16];

  int iSeq;

int iType;

};

對於變量

struct sample_strcut stTest;

一般情況下,清空stTest的方法:

stTest.csName[0]='\0';

stTest.iSeq=0;

stTest.iType=0;

用memset就非常方便:

memset(&stTest,0,sizeof(struct sample_struct));

如果是數組:

struct sample_struct TEST[10];

memset(TEST,0,sizeof(struct sample_struct)*10);

5.memset函數其他用法

Ø void *memset(void *s,int c,size_t n)

總的作用:將已開辟內存空間 s 的首 n 個字節的值設為值

Ø memset() 函數常用於內存空間初始化(如上面4所說)。

如:

  char str[100];

  memset(str,0,100);

Ø memset()的深刻內涵:用來對一段內存空間全部設置為某個字符,一般用在對定義的字符串進行初始化為‘memset(a, '\0', sizeof(a));

Copyright © Linux教程網 All Rights Reserved