ITPub博客

首页 > 应用开发 > IT综合 > C++strcpy内存覆盖问题

C++strcpy内存覆盖问题

原创 IT综合 作者:dongyu2013 时间:2014-04-14 14:47:41 0 删除 编辑

点击(此处)折叠或打开

  1. char str[]=\"123456789\";
  2. char dst[]=\"aaa\";
  3. strcpy(dst, str);
  4. cout<<str<<endl;
  5. cout<<dst<<endl;
  6. cout<<&str<<endl;
  7. cout<<&dst<<endl;
  8. 因为dst和str内存相连 所以str复制到dst时 把自己给覆盖了




点击(此处)折叠或打开

  1. char str[10]=\"123456789\";
  2. char dst[10]=\"aaa\";
  3. strcpy(dst, str);
  4. cout<<str<<endl;
  5. cout<<dst<<endl;
  6. cout<<&str<<endl;
  7. cout<<&dst<<endl;



点击(此处)折叠或打开

  1.     char dst[]=\"aaa\";
  2.     char str[]=\"123456789\";
  3.     char *p13=(char *)0x0012FF44;
  4.     char *p12=(char *)0x0012FF43;
  5.     char *p11=(char *)0x0012FF42;
  6.     char *p10=(char *)0x0012FF41;
  7.     char *p9=(char *)0x0012FF40;
  8.     char *p=(char *)0x0012FF3F;
  9.     char *p1=(char *)0x0012FF3F;
  10.     char *p2=(char *)0x0012FF3E;
  11.     char *p3=(char *)0x0012FF3D;
  12.     char *p4=(char *)0x0012FF3C;
  13.     char *p5=(char *)0x0012FF3B;
  14.     char *p6=(char *)0x0012FF3A;
  15.     char *p7=(char *)0x0012FF39;
  16.     char *p8=(char *)0x0012FF38;
  17.     cout<<*p13<<endl;
  18.     cout<<*p12<<endl;
  19.     cout<<*p11<<endl;
  20.     cout<<*p10<<endl;
  21.     cout<<*p9<<endl;
  22.     cout<<*p<<endl;
  23.     cout<<*p1<<endl;
  24.     cout<<*p2<<endl;
  25.     cout<<*p3<<endl;
  26.     cout<<*p4<<endl;
  27.     cout<<*p5<<endl;
  28.     cout<<*p6<<endl;
  29.     cout<<*p7<<endl;
  30.     cout<<*p8<<endl;
  31.     cout<<&dst<<endl;
  32.     cout<<&str<<endl;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29012686/viewspace-1141720/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 视图和表的区别
请登录后发表评论 登录
全部评论

注册时间:2013-12-25

  • 博文量
    263
  • 访问量
    208181