C++的一道题目,考验一个函数的用法

定义一个int数组,获得该数组的起始地址,使用static_cast把它转化成void*。写一个带一下参数的函数:一个void*,一个数字(表明字节的数目)和一个值(表明每个字节需要设定的值).该函数必须为特定范围内的每个字节设定特定的值,在这个int数组上试验函数

4个回答

memset的使用方法:
void *memset(void *s,int ch,size_t n);
解释:
*s是你传入的数组(指针),可以是任何类型的数组。
ch是你娿初始化的值,其实只用byte部分。
n是数组的大小(以字节论)
返回值:传入的数组(指针)。

就是一个for循环,然后你一个字节一个自己的赋值数据

既然是要测试函数,那就应该自己手动实现一个memset的功能。
首先把void* 转成unsigned char *p;
然后for循环0到n
*p = v; // v就是那个函数的第三个值。
++ p;

注意v的数据类型,最好是unsigned char,如果不是也要转成这个类型来赋值。

henuyx
Heart09 回复蓝色澜途: 你想看到输出对吧?调用了你写的函数之后,再吧原来的数组元素一个一个输出来试试。当然你也可以在调用函数之前,先输出来一遍,这样可以比较在调用函数前后,数组元素内容的变化
大约 5 年之前 回复
u013480226
蓝色澜途 可是我这怎么没有输出任何东西呀,没有什么反应呀
大约 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问