免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1828 | 回复: 4
打印 上一主题 下一主题

[函数] 这个函数调用为什么会产生异常!关于cout和printf [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-20 21:23 |只看该作者 |倒序浏览
函数目标是往内存count个相同整数,类似memset放字符

  1. void memset_int(int *dest,int number,int count)

  2. {

  3.         int *temp=dest;
  4.         memset(dest,0,sizeof(int)*count);
  5.         for(int i=0;i<count;i++)
  6.         {       
  7.                 memcpy(dest,&number,sizeof(int));
  8.                 //printf("%d\n",*dest);//如果用printf没问题!
  9.                 cout<<*dest<<endl;   //用cout会产生异常
  10.                 dest++;
  11.         }
  12.         dest=temp;
  13. }
  14. void main()
  15. {
  16.         int number=500;
  17.         int *dest;
  18.         int count=3;
  19.         dest=new int(sizeof(int)*count);
  20.         memset_int(dest,number,count);
  21.        
  22. }
复制代码

论坛徽章:
0
2 [报告]
发表于 2005-12-20 21:43 |只看该作者
dest=new int[count];

论坛徽章:
0
3 [报告]
发表于 2005-12-20 21:53 |只看该作者

回复 2楼 Alligator27 的帖子

谢谢,不好意思,这个都没看出来!唉!!

论坛徽章:
0
4 [报告]
发表于 2005-12-21 01:44 |只看该作者

回复 3楼 wuik 的帖子

奇怪了我怎么没有异常啊

论坛徽章:
0
5 [报告]
发表于 2005-12-21 10:34 |只看该作者
为什么还要定义temp呢,还有dest=temp;这些变量都只是对子程序产生作用,子程序里面的指针也是一个拷贝而已,它不会改变调用程序中dest指向内存起始这一特点的,除非传的是int **
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP