使用memset函数初始化数组

2008年11月18日 22:48 . 分类 编程相关 . 被踩 520 次 .

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

初级介绍,大牛请飘过。。。

在初始化数组尤其是需要每次都初始化的时候,很多同学使用循环来进行,这样不但速度慢,而且写起来也很长。所以现在提供一个函数来实现这个功能。。。

原型:extern void *memset(void *buffer, int c, int count);

功能:把buffer所指内存区域的前count个字节设置成字符c。

包含头文件:<string.h>

注意这个函数是字符串函数,所以一定要包含字符串头文件。

使用方法:

int a[50];

memset(a,0,sizeof(a));

这样呢,就将数组a内所有的值都赋成0了,sizeof也是一个函数,得到数组a的字节大小。

另外需要注意的是,memset函数是逐字节进行填充,所以a一般为char *型。对于其它类型的a,可以填充的值有两个,0和-1。因为计算机中用二进制补码表示数字,0和二进制补码为全0,-1的二进制补码为全1。

您可能还对以下内容感兴趣

收藏、分享这篇文章! 用 RSS feed 订阅本博客 什么是订阅? Trackback

评论

2 条评论 关于 “使用memset函数初始化数组”

  1. felix021 发表于 2008年11月19日 22:31

    在做ACM题的时候我一般还是手写for(i=0;i<n;a[i]=0, ++i);

    Slyar 回复 于 11月 20th, 2008 13:04:

    恩,其实我也不喜欢函数...

发表您的评论[审核后显示]




关闭
E-mail It