使用memset对数组赋值

目录

一、memset函数

二、使用memset对char数组赋值

1、清零操作

2、赋为非0值操作

三、使用memset对int数组赋值

1、清零操作

2、赋为非0值操作

分析int数组赋非零值的情况

如何正确给int数组赋非0值

四、总结


一、memset函数

void *memset(void *s, int ch, size_t n);

函数解释:将s中当前位置后面的n个字节用 ch 替换并返回 s

参数:s,指针,要赋值的内存的起始地址。

ch,用于设置给内存块的值。

n,指定设置为ch值的字节数

作用:在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。

由函数解释可以知道,memset函数是对地址为s开始的n个字节的内存块进行赋值,而且是将这个n个字节的每个字节赋值为整数ch。这一点要注意,使用memset函数对内存块赋值是以字节为单位来赋值

 

二、使用memset对char数组赋值

1、清零操作

使用memset函数对char类型的数组进行清零操作,该示例直接以代码展示:

#include <stdio.h>
#include <memory.h>

int main(int argc, char* argv[]){
	int i;
	char ArrCh[10] = {0};
	
	memset(ArrCh, 0, sizeof(ArrCh));
	
	printf("char type, assign zero value:\n");
	for(i=0; i<sizeof(ArrCh); i++)
	{
		printf("0x%x, ", ArrCh[i]);
	}
	printf("\n");

	return 0;	
}

运行结果:

 

2、赋为非0值操作

使用memset函数对char类型的数组赋为非0值操作,该示例直接以代码展示:

#include <stdio.h>
#include <memory.h>

int main(int argc, char* argv[]){
	int i;
	char
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值