相关mem-(c语言)
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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”。