`
milk_nenu
  • 浏览: 13604 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

memset函数

 
阅读更多

void * memset ( void * ptr, int value, size_t num );

Fill block of memory

Sets the first num bytes of the block of memory pointed by ptr to the specified value (interpreted as an unsigned char).

Parameters

ptr
Pointer to the block of memory to fill.
value
Value to be set. The value is passed as an int, but the function fills the block of memory using the unsigned char conversion of this value.
num
Number of bytes to be set to the value.

Return Value

ptr is returned.

Example

/* memset example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char str[] = "almost every programmer should know memset!";
  memset (str,'-',6);
  puts (str);
  return 0;
}

 

【转】

1。void *memset(void *s,int c,size_t n)
总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。

2。例子
#include

void main(){
char *s="Golden Global View";

clrscr();

memset(s,'G',6);
printf("%s",s);

getchar();
return 0;
} 
3。memset() 函数常用于内存空间初始化。如:
char str[100];
memset(str,0,100);

4。memset()的深刻内涵:用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ ’或‘/0’;例:char a[100];memset(a, '/0', sizeof(a));

memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;例:char a[100],b[50]; memcpy(b, a, sizeof(b));注意如用sizeof(a),会造成b的内存地址溢出。

strcpy就只能拷贝字符串了,它遇到'/0'就结束拷贝;例:char a[100],b[50];strcpy(a,b);如用strcpy(b,a),要注意a中的字符串长度(第一个‘/0’之前)是否超过50位,如超过,则会造成b的内存地址溢出。

5.补充:一点心得
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);

6。strcpy
原型:extern char *strcpy(char *dest,char *src);
用法:#i nclude
功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
memcpy
原型:extern void *memcpy(void *dest, void *src, unsigned int count);
用法:#i nclude
功能:由src所指内存区域复制count个字节到dest所指内存区域。
说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。
memset
原型:extern void *memset(void *buffer, int c, int count);
用法:#i nclude
功能:把buffer所指内存区域的前count个字节设置成字符c。
说明:返回指向buffer的指针。
 

分享到:
评论

相关推荐

    Linux下替换memset函数

    1. **使用间接跳转**:通过一个函数指针来调用自定义的`memset`函数,而不是直接跳转到其地址。这样可以避免依赖绝对地址,同时保持代码的动态性。 2. **使用相对跳转**:如果是在汇编代码中,可以使用相对跳转指令...

    【memset函数及其作用】memset函数语法.pdf

    memset 函数及其作用 在程序设计中,memset 函数是一种常用的函数,用于将一块内存空间中的所有字节设置为某个特定的值。下面我们将详细介绍 memset 函数的语法、原型、作用、用法和实例。 memset 函数原型 ...

    【memset函数及其作用】memset函数语法.docx

    memset 函数及其作用 memset 函数是 C 语言标准库中的一个函数,用于将一块内存空间中的每个字节的内容全部设置为某个指定的 ASCII 值。该函数的原型是 `extern void *memset(void *buffer, int c, int count)`,...

    五分钟搞定memset函数(秒懂)memset**五分钟搞定memset函数:小学生也能掌握的C语言魔法

    memset**五分钟搞定memset函数:小学生也能掌握的C语言魔法** **内容概要:** 本文为您详细介绍了如何在C语言中使用memset函数,旨在帮助初学者掌握基本的内存设置操作。内容涵盖memset函数的定义、使用方法、注意...

    【memset()函数及其作用】memset函数语法.docx

    memset 函数是 C 语言标准库中的一种函数,主要用于将一块内存空间中的所有字节设置为某个值。下面是关于 memset 函数的详细知识点: 1. memset 函数的原型是 `extern void *memset(void *buffer, int c, int count...

    【memset(1)函数及其作用】memset函数语法.docx

    memset 函数及其作用 memset 函数是 C 语言标准库中的一个函数,用于将一段内存空间中的每个字节的内容全部设置为某个字符。该函数的原型是 `extern void* memset(void* buffer, int c, int count)`,其中 `buffer` ...

    memset函数使用详解.pdf

    memset 函数使用详解 memset 函数是一种常用的内存操作函数,主要用于将已开辟的内存空间设置为某个特定的值。其原型为 `void *memset(void *s, int c, size_t n)`,其作用是将已开辟的内存空间 `s` 的首 `n` 个...

    memset函数用法.rar

    memset函数是C语言标准库中的一个非常重要的函数,主要用于初始化内存区域。在程序设计中,尤其是在处理大量数据或初始化结构体时,memset的使用能够大大提高效率。本资料将详细讲解memset函数的用法。 memset函数...

    【memset()函数及其作用】memset函数语法.pdf

    memset函数通常用于新分配的内存初始化,因为未初始化的内存区域可能含有随机数据,这些数据可能会对程序的运行造成不可预测的影响。为了避免这种问题,开发者会使用memset将内存初始化为特定值,最常见的就是0,这...

    C语言memset函数使用方法详解

    C语言memset函数使用方法详解 C语言中的memset函数是一种非常重要的函数,它可以将指定的内存区域设置为某个固定的值。该函数的使用方法较为复杂,需要正确地理解和使用,以避免出现错误。本文将详细介绍C语言...

    c 语言中1. 的memset函数.pdf

    。c 语言中1.。的memset函数.pdf

    【memset(1)函数及其作用】memset函数语法.pdf

    `memset()`函数是C语言库中的一个非常实用的内存操作函数,主要用来填充一块内存区域为特定的字节值。它的原型如下: ```c void* memset(void* buffer, int c, size_t count); ``` - `buffer`: 这个参数是一个指向...

    c 语言中的memset函数.docx

    在C语言中,`memset`函数是一个非常实用的内存操作函数,它允许程序员快速地将一块内存区域填充为特定的字节值。`memset`函数的原型定义在`&lt;string.h&gt;`头文件中,通常的使用形式如下: ```c void* memset(void* ptr...

    c 语言中的memset函数.pdf

    在C语言中,`memset`是一个非常实用的函数,用于对内存区域进行快速初始化,通常用于设置内存块的每个字节为同一特定值。这个函数包含在`&lt;string.h&gt;`头文件中,其原型为: ```c void *memset(void *s, int v, size_...

    memset的初浅体会

    memset 函数的初浅体会 memset 函数是 C 语言中的一个常用函数,用于将一块内存中的所有字节设为某个特定的值。它的函数原型为 `void *memset(void *dest, int c, size_t count);`,其中 `dest` 是要被设置的内存...

    C++中memset函数用法详解

    本文实例讲述了C++中memset函数用法。分享给大家供大家参考,具体如下: 功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化...

    memset()函数的另一种纯c语言实现方式

    在C语言中,`memset()`函数是用于将内存块中的特定范围填充为一个特定值的常用函数。在标准C库中,`memset()`通常通过直接内存操作实现高效填充。然而,有时为了学习目的或者在某些特定环境下(比如不希望依赖标准库...

    memset资源.zip

    在C和C++等编程语言中,memset函数是一个用于设置内存区域内容的标准库函数。它允许程序员将指定内存区域的内容设置为一个特定的值,这在初始化数据结构、清除内存等方面非常有用。本文将深入探讨memset函数的原理、...

Global site tag (gtag.js) - Google Analytics