memset函数的用法

memset函数是C语言中的一个标准库函数,用于将一段内存区域的每个字节都设置为特定的值。

函数原型如下:


void *memset(void *ptr, int value, size_t num);


函数参数:
- ptr:指向要设置的内存区域的指针
- value:要设置的值,以int类型表示,但实际上会被转换为unsigned char类型
- num:要设置的字节数。

函数返回值:
- 返回指向被设置的内存区域的指针。

memset函数的作用是将从ptr指针指向的内存地址开始的num个字节都设置为value值。这个函数通常用于初始化内存,也可以用于将某些特定字节的值替换为其他值。

需要注意的是,value参数的取值范围应该在0到255之间,因为被设置的内存区域是以字节为单位的。如果value的值超出了这个范围,则会被截断为0到255之间的值。

另外,memset函数可以用于任何类型的内存区域,例如字符数组、整数数组、结构体等。它可以快速地将内存区域的所有字节都设置为特定的值,是C语言中非常常用的一个函数。

1.memset初始化char数组;

memset本来就是为了char数组初始化诞生的.

例如

memset(arr, 'a', 4);

arr数组前4个字节变为'a';

2.memset初始化整数数组;

赋值 0:

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

可以;

赋值 -1:

memset(a, -1, sizeof(a));

可以;

赋值 1:

不可以;

memset函数是按照字节对内存块进行初始化,所以不能用它将int数组出初始化为0和-1之外的其他值

用memset赋较大值:

memset(a, 127, sizeof(a));

数组a的值为2139062143;

用memset赋较小值:

memset(a, 128, sizeof(a));

数组a的值为-2139062144;

(int,范围是-2147483648~2147483647)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值