每天3道面试题 01/14

2017-01-14 09:52 阅读 773 次 评论 1 条

已知memcpy的函数为: void* memcpy(void *dest , const void* src , size_t count)其中dest是目的指针,src是源指针。不调用c++/c的memcpy库函数,请编写memcpy。

HashMap与HashTable区别

HashMap基于Hashtable实现,不同之处在于HashMap是非同步的,并且允许null,即null value和null key。

Hashtable则不允许null,此外,记住一点:hashmap/hashset等凡是带有hash字眼的均基于hashtable实现,没带hash字眼的如set/map均是基于红黑树实现,前者无序,后者有序。

一个由C/C++编译的程序所占的内存分为几个部分

①栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。

②堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。

③全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放

④文字常量区 —常量字符串就是放在这里的。 程序结束后由系统释放

⑤程序代码区—存放函数体的二进制代码。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:每天3道面试题 01/14 | 术与道的分享
分类:剑指Offer 标签:,
1024do.com导航_术与道导航平台

发表评论


表情

  1. 森纯博客
    森纯博客 【农民】 @回复

    可以的