zoukankan      html  css  js  c++  java
  • 【C】浅谈strcpy

    初学者肯定吃过strcpy的亏,有时候编译明明通过的,运行时候就崩掉了,这是为什么呢?

        下面给大家看一个例子

        运行环境:操作系统win7, 编译器VC6.0

        

    #include <stdio.h>
    #include <string.h>
    int main()
    {
         char str1[]="dest", *str2="dest";
    
         strcpy(str1,"src");
         strcpy(str2,"src");
         printf("%s\n", str1);
         printf("%s\n", str2);
    
         return 0;
    }

        这个程序就是编译通过但是运行失败的一个例子。其实这涉及到了运行时内存分配问题。

        str1是字符数组,分配在栈区,因而可以操作。而str2指向常量区,所以不可以操作。

        不信可以注释掉其中一部分试试

  • 相关阅读:
    POJ
    POJ
    HDU
    HDU
    HDU
    POJ
    HDU
    POJ
    A-meeting 2019牛客暑期多校第四场 (树的直径)
    算法与数据结构实验题 2.1 塔防
  • 原文地址:https://www.cnblogs.com/ganganloveu/p/2732574.html
Copyright © 2011-2022 走看看