C语言memset函数如何正确运用及详细解析?
- 内容介绍
- 文章标签
- 相关推荐
本文共计426个文字,预计阅读时间需要2分钟。
C语言memset函数使用方法详解:
一、函数原型cvoid *memset(void *s, int ch, size_t n);
二、函数作用将内存中以`s`为起始地址的连续`n`个字节的内容都设置为字符`ch`。
三、使用说明- `s`:指向内存块的指针。- `ch`:要设置的字符,通常使用`0`进行清零。- `n`:要设置的字节数。
例如,使用memset清零一个整型数组:cint arr[10];memset(arr, 0, sizeof(arr));
C语言memset函数使用方法详解
一。函数原形 void * memset(void*s, int ch,size_t n)
二。函数作用 将以s内存地址为首的连续n个字节的内容置成ch,一般用来对大量结构体和数组进行清零
三。常见错误
1.搞反了 ch 和 n的位置
对char[20]清零,一定是 memset(a,0,20);
2.过度使用memset
3.其实这个错误严格来讲不能算用错memset,但是它经常在使用memset的场合出现
int fun(strucy something * a) { ..... memset(a,0,sizeof(a)); ..... }
这里错误的原因是VC函数传参过程中的指针降级,导致sizeof(a),返回的是一个 something*指针类型大小的的字节数,如果是32位,就是4字节。
本文共计426个文字,预计阅读时间需要2分钟。
C语言memset函数使用方法详解:
一、函数原型cvoid *memset(void *s, int ch, size_t n);
二、函数作用将内存中以`s`为起始地址的连续`n`个字节的内容都设置为字符`ch`。
三、使用说明- `s`:指向内存块的指针。- `ch`:要设置的字符,通常使用`0`进行清零。- `n`:要设置的字节数。
例如,使用memset清零一个整型数组:cint arr[10];memset(arr, 0, sizeof(arr));
C语言memset函数使用方法详解
一。函数原形 void * memset(void*s, int ch,size_t n)
二。函数作用 将以s内存地址为首的连续n个字节的内容置成ch,一般用来对大量结构体和数组进行清零
三。常见错误
1.搞反了 ch 和 n的位置
对char[20]清零,一定是 memset(a,0,20);
2.过度使用memset
3.其实这个错误严格来讲不能算用错memset,但是它经常在使用memset的场合出现
int fun(strucy something * a) { ..... memset(a,0,sizeof(a)); ..... }
这里错误的原因是VC函数传参过程中的指针降级,导致sizeof(a),返回的是一个 something*指针类型大小的的字节数,如果是32位,就是4字节。

