相关mem-(c语言)

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

P174

(3)使用memset函数来赋值。

标准库函数memset可实现对某内村快的个字节单元整体赋同样的值。

Memset函数原型如下:

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

memset函数主要适合于字节型数组的整体赋值,当然对非字节型数组进行清零也是可以的。

例如,下面的程序是将数组str的第个数据单元赋值为’a’;

char str [10];

memset (str, ‘a’, 10);

再例如,下面的程序是将数组a的每个数据单元赋值为0(清零):Int a[10];

Memset (a,0, 10*sizeof(int))

下面程序执行之后数组a的各元素值为2

-short a[10];

-memset(a, 2, 10*sizeof(short));

(4)使用memcpy函数实现数组间的赋值。

对于两个数据类型和大小相同的数组,如果将其中一个数组个单元的值要赋值给另一个数组的各数据单元,我们也许首先会想到用循环的方式来解决,例如:

-int a[5]={1,2,3,4,5},b[5],i;

-for (i=0;i<5;i++)

--b[i]=a[i];

有一个更加简便的方法(-memcpy(b,a,5*sizeof(int));),就是使用memcpy库函数,该函数的原型如下:

V oid*memcpy(void*d,void*s,unsigned n) 要复制的数组在前原数组在后,还有有数的类型。

注意:在使用memset和mecpy函数时,源程序中要包含头文件“string.h”。在vc下,则也可用“memory.h”。

相关文档
最新文档