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

来源:爱站网时间:2019-07-04编辑:网友分享
每种变量都有自己的初始化方法,memset()函数可以称为“通用函数”来初始化内存,通常用于新的应用程序的内存初始化工作,爱站技术今天为大家带来C语言memset函数使用方法详解,希望能帮到您!

每种变量都有自己的初始化方法,memset()函数可以称为“通用函数”来初始化内存,通常用于新的应用程序的内存初始化工作,爱站技术今天为大家带来C语言memset函数使用方法详解,希望能帮到您!

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字节。经常使用这种形式

memset(a,0,n*sizeof(type));

4.想对数组初始化为1

int main() 
{ 
   int a[20]; 
   memset(a,1,20); 
}

这种方法不能初始化为1。原因是memset函数是按照字节赋值的,int 是4个字节所以为0x01010101,就是十进制的16843009。 

感谢大家阅读完本篇内容,爱站技术小编为大家整理的知识还算有用吗?关注我们,将会给你更多的惊喜哟。

上一篇:C++读取WAV音频文件的头部数据的实现方法

下一篇:详解C语言用malloc函数申请二维动态数组的实例

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载