zoukankan      html  css  js  c++  java
  • 1.strcpy使用注意

    void test1()
    {
    char string[10];
    char *str1 ="0123456789";
    strcpy(string,str1);
    }
    

      上述代码问题?

    字符串str1需要11字节才能存放下(包括末尾的‘’),而string只有10个字节的空间,strcpy会导致数组越界。

    分析:

     代码本身没有错误,如果将str1拷贝到string中,string的长度会增加,并且也可以正确的输出string。 
    但是存在潜在的危险,string定义的长度是10,而拷入str1之后string的长度增为11,也就是说,在内存中,如果紧接string之后有内容,将被覆盖,这样会导致string之后的内存存取错误。 
    拥抱明天! 不给自己做枷锁去限制自己。 别让时代的悲哀,成为你人生的悲哀。
  • 相关阅读:
    java线程(1)-线程同步
    Scala:(3)数组
    Codeforces 899F Letters Removing
    拼图游戏的可解性
    Hash
    哈夫曼编码
    莫比乌斯
    FFT
    Ropes
    区间合并
  • 原文地址:https://www.cnblogs.com/dd2hm/p/7079642.html
Copyright © 2011-2022 走看看