zoukankan      html  css  js  c++  java
  • 动态内存分配(Dynamic memory allocation)

    下面的代码片段的输出是什么?为什么?

    解析:这是一道动态内存分配(Dynamic memory allocation)题。
        尽管不像非嵌入式计算那么常见,嵌入式系统还是有从堆(heap)中动态分配内存的过
    程。
    面试官期望应试者能解决内存碎片、碎片收集、变量的执行时间等问题。
    这是一个有趣的问题。故意把0值传给了函数malloc,得到了一个合法的指针,这就是
    上面的代码,该代码的输出是“Got a valid pointer”。我用这个来讨论这样的一道面试例题,
    看看被面试者是否能想到库例程这样做是正确的。得到正确的答案固然重要,但解决问题的
    方法和你做决定的基本原理更重要。
    将程序修改成:

    或者:

    如果求ptr的strlen值和sizeof值,该代码的输出是“Got a null pointer”。
    答案:Got a valid pointer。

  • 相关阅读:
    Linux常用命令
    ServerSocketChannel和SocketChannel
    Java扫描包
    [BZOJ3874/AHOI2014]宅男计划
    [BZOJ4029/HEOI2015]定价
    [考试]20151012贪心
    [BZOJ4027/HEOI2015]兔子与樱花
    [考试]20151010
    [考试]20151009
    Test of String
  • 原文地址:https://www.cnblogs.com/yihujiu/p/6368729.html
Copyright © 2011-2022 走看看