面试笔记2
2014-03-23 17:16
381 查看
C语言内存分配的一些问题
显然栈区,堆区,还有静态区。
命令行参数区,代码区。
但是静态区中,常量跟外部变量及静态变量是分开来放的。
然后没有被初始化的跟已经初始化的也是分开来的。(一般来说都内容都应该是0,但放的地方不一样)
这里有个有趣的发现就是printf()这个里面的东西也放在常量那一块。
malloc 跟calloc~这个也就那样。
于是乎还有就是char*跟char[ ]的区别,char[ ]在堆栈,char*在静态区。
又发现了个C里面有关函数的问题,函数是放在代码区的。函数传值的时候是拷贝的值传的。
也许是巧合,在全局变量中,值是按顺序给空间的。
显然栈区,堆区,还有静态区。
命令行参数区,代码区。
但是静态区中,常量跟外部变量及静态变量是分开来放的。
然后没有被初始化的跟已经初始化的也是分开来的。(一般来说都内容都应该是0,但放的地方不一样)
这里有个有趣的发现就是printf()这个里面的东西也放在常量那一块。
malloc 跟calloc~这个也就那样。
于是乎还有就是char*跟char[ ]的区别,char[ ]在堆栈,char*在静态区。
又发现了个C里面有关函数的问题,函数是放在代码区的。函数传值的时候是拷贝的值传的。
也许是巧合,在全局变量中,值是按顺序给空间的。
相关文章推荐
- 数据库 面试基础知识 和基本题型
- 黑马程序员_OC基础11_@property参数
- 黑马程序员 7k 月薪面试题 交通灯
- JAVA 2013面试题-下
- 程序员练级之路(作者:陈皓)
- 一个让人爱恨交织的java面试题
- 黑马程序员_异常(Exception)
- 黑马程序员_OC基础10_内存管理(多对象)
- 黑马程序员 C#学习笔记⑦ 文件系统数据一FileStream
- 黑马程序员--Java基础加强--08内省、类加载器、动态代理
- 黑马程序员--Java基础加强--07枚举、反射、注释
- 黑马程序员--Java基础--06输入与输出流IO
- 黑马程序员--C#基础
- 黑马程序员--Java基础--05Map
- 黑马程序员--ServletContext之三种方式读取配置文件
- 黑马程序员_OC基础09_声明变量小结
- H面试程序(0):字符串一些常用函数的实现
- 从一道百度面试题到分析输入url到页面返回的过程(或者查询返回过程)
- 网易游戏TTT面试总结
- 黑马程序员---------------高新技术之反射