永发信息网

为什么memset不能将数组元素初始化为1

答案:1  悬赏:30  手机版
解决时间 2021-01-28 19:15
为什么memset不能将数组元素初始化为1
最佳答案
1、效果是一样的,memset更常用。memset的效率比for循环要高出很多。
2、使用memset函数与将函数代码写在自己的程序里是不一样的,C标准库中的memset对Cache的利用做了优化,具体的在《C专家编程》151页有解释,这里给出测试:

#include
#define MAXSIZE 100000

int main()
{
char arr[MAXSIZE];
for(int i=0;i<10000;i++)
{
memset(arr,'0',sizeof(arr));
// for(int j=0;j// arr[0] = '0';
}
return 0;
}

程序里的注释部分与memset行分别使用,结果是使用memset的程序运行时间大约为0.1s,而用for循环的程序要3s多。综上:memset()可以用在字符数组的初始化以及类似于memset(arr,0,n*sizeof(int));的情况,效率比手动赋值要高的多。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
某私企电厂建设项目需要招标吗
深州市碧海情天洗浴九月有午夜演艺吗
情感的发展需要依靠自身自觉的努力和培养。情
克周的意思是什么啊?知道的请说下!
3个月的泰迪狗狗感冒精神状态非常好能吃能能
微星ge60 2qe-893xcn有一键切换显卡吗
2019年新世纪英才字词句段篇英才教程六年级语
圣女果有激素吗
美丽的大兴安是宝库:怎么缩写
求一首泰勒的歌love story和Apologize和唱混
My father made me what I am .分析句子结构
6加3狂战求一个无用跟阳剑的怒气伤害测试
衣服尺码差1cm实际差别大吗
我有一本厚黑学和一本宗吾臆谈,按照两本书的
英语翻译Some Olympic sports teams have exp
推荐资讯
刚买的小乌龟在鱼缸使劲的游,没多久就死啦,是
无证电站因内部纠纷一股东擅自停电怎么处理
地图投影为什么要分带投影
异地工行卡存款到异地建行卡,怎么存最省手续
汽车油改气了,最近总憋火,怎么回事?去修还
中国电信(桂南路营业厅)地址在什么地方,想过
风火墙的意思是什么啊?知道的请说下!
北京市环亚律师事务所培训学院地址在什么地方
备灾的意思是什么啊?知道的请说下!
主角是元帅都市修真小说
赘渎的意思是什么啊?知道的请说下!
军师联盟张春华为什么最后不受宠:历史上是怎
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?