memset 和 fill ——对数组中每个元素赋相同的值

本文对比了memset和fill两种在C++中初始化数组的方法。memset通过字节填充,适用于char和int数组,常用于设置0或-1;fill则按照元素填充,能为任意类型区间赋值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. memset 函数

memset 函数格式为:

memset  (数组名,值,sizeof(数组名));

【注意】

1)使用memset 需要在程序开头添加 string.h 文件;

2)memset是对按照字节来填充的,所以一般用来填充char型数组,也经常用于填充int型的全 0 或全 -1 操作。

【示例】

#include<stdio.h>
#include<string.h>

int main()
{
	int i;
	int a[5] = {1,2,3,4,5};
	//赋值 0 
	memset(a , 0 , sizeof(a) );
	for( i = 0;i < 5; i++)
		printf("%d ",a[i]);

	printf("\n");
	//赋值 -1
	memset(a , -1, sizeof(a) );
	for( i = 0;i < 5; i++)
		printf("%d ",a[i]);

	printf("\n");

	return 0;
}

输出结果:

0  0  0  0  0

-1  -1  -1  -1  -1 

2. fill函数 

fill 函数格式:

fill(arr, arr + n, 要填入的内容);

【注意】

1)使用fill 需要在程序开头添加 algorithm 头文件。

2)fill是按照单元来填充的,所以可以填充一个区间的任意值。

【示

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值