zoukankan      html  css  js  c++  java
  • 字符串截取问题

    #include <iostream>
    #include <stdio.h>
    int main(void)
    {
         char s[]="123456789";
         char d[]="123";
         strcpy(d,s);
         printf("%s,%s",d,s);
         return 0;
    }
    结果:
    123456789,56789
    解析:
    在内存中分配如下:
    copy前      copy后
    b->1 ------> 1
         2            2
         3            3
                    4
    s->1 ------> 5
         2            6
         3            7
         4            8
         5            9
         6            
         7            7
         8            8
         9            9
                   
    在栈中,变量是分配是按照栈低到栈顶的,栈低地址比栈顶地址大,因为b分配空间不够,因此,在copy时向下占据a空间,则copy后内存分配如上图。
  • 相关阅读:
    文字列をバイトで切る
    把SmartForm转换成PDF
    相对布局和网格布局
    帧布局和表格布局
    计算器布局
    课堂总结和练习
    Android UI组件
    2层导航
    导航
    课堂总结
  • 原文地址:https://www.cnblogs.com/striver-zhu/p/4760729.html
Copyright © 2011-2022 走看看