• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > 探讨:程序在内存中的分配(常量,局部变量,全局变量,程序代码)问题

探讨:程序在内存中的分配(常量,局部变量,全局变量,程序代码)问题

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了java全局常量,全局常量,vba 全局常量,php全局常量,c语言全局常量等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一. 在c中分为这几个存储区
1.栈 - 由编译器自动分配释放
2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收
3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放
4.另外还有一个专门放常量的地方。- 程序结束释放

在函数体中定义的变量通常是在栈上,用malloc, calloc, realloc等分配内存的函数分配得到的就是在堆上。在所有函数体外定义的是全局量,加了static修饰符后不管在哪里都存放在全局区(静态区),在所有函数体外定义的static变量表示在该文件中有效,不能extern到别的文件用,在函数体内定义的static表示只在该函数体内有效。另外,函数中的"adgfdf"这样的字符串存放在常量区。比如:

三、堆和栈的理论知识
申请方式
stack:
由系统自动分配。   例如,声明在函数中一个局部变量   int   b;   系统自动在栈中为b开辟空间
heap: 需要程序员自己申请,并指明大小,在c中malloc函数
如p1  =   (char   *)malloc(10);
在C++中用new运算符
如p2  =   (char   *)malloc(10);
但是注意p1、p2本身是在栈中的。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 探讨:程序在内存中的分配(常量,局部变量,全局变量,程序代码)问题

相关文章

  • 2017-05-28C语言中的链接编写教程
  • 2017-05-28深入解析C语言中常数的数据类型
  • 2017-05-28Visual C++中MFC消息的分类
  • 2017-05-28VC取得任务栏高度的方法
  • 2017-05-28c++中临时变量不能作为非const的引用参数的方法
  • 2017-05-28C++堆排序算法的实现方法
  • 2017-05-28c++中虚函数的实现详解
  • 2017-05-28c++函数指针使用示例分享
  • 2017-05-28C语言编程入门之程序头文件的简要解析
  • 2017-05-28C++中的内存分区介绍

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C++中new与delete、malloc与free应用分析
    • 关于C++中0是十进制还是八进制的问题
    • C++中指针的数据类型和运算相关知识小结
    • C++中队列的建立与操作详细解析
    • C++短路求值(逻辑与、逻辑或)实例
    • 实现一个内存池管理的类方法
    • C++友元函数与拷贝构造函数详解
    • 异步http listener 完全并发处理惩罚http恳求的小例子
    • C++通过COM接口操作PPT
    • C++ 中静态成员函数与非静态成员函数的区别

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有