zoukankan      html  css  js  c++  java
  • c面试题总结

    1.

    char *pname=new char[10];
    pname="asdzxc"; cout<<pname; delete pname;

     该程序运行时会崩溃,原因时我们自己在堆上new出了一块空间后,马上又让该指针指向了字符常量区,之前分配的空间就会丢掉,此时虽然可以正常输出,但是在delete的时候,由于找不到我们之前开辟的那块空间的位置又进行了释放内存的操作,自然会崩溃。

    所以字符串的赋值一定不能用“=”,要用strcpy(),初始化可以用“=”,如:(在c++中用string类可直接赋值)

    char *p="asdzxc";//是正确的
    

     下面这种写法同理也是错误的。

    char pname[]="asdzxc";//栈
    pname="aaa";
    

    2.c++中BOOL是int定义的,是4个字节,bool是char 的别名,是1个字节。

  • 相关阅读:
    线段树
    数学建模中的excel操作
    POJ 3666 Making the Grade
    POJ 1742 Coins
    CF 55D
    POJ 3280 Cheapest Palindrome
    牛客 处女座与复读机
    牛客 处女座的约会
    牛客 小a与星际探索
    POJ 2229 递推
  • 原文地址:https://www.cnblogs.com/curo0119/p/8530300.html
Copyright © 2011-2022 走看看