`
vawe666
  • 浏览: 40530 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

C语言中到变量与内存的关系

 
阅读更多
一个由C/C++编译的程序占用的内存分为以下几个部分,
  1、栈区(stack)—  由编译器自动分配释放 ,存放为运行函数而分配的局部变量、函数参数、返回数据、返回地址等。其操作方式类似于数据结构中的栈。 
  2、堆区(heap) —  一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。分配方式类似于链表。
  3、全局区(静态区)(static)—存放全局变量、静态数据、常量。程序结束后由系统释放。
  4、文字常量区 —常量字符串就是放在这里的。 程序结束后由系统释放。
  5、程序代码区—存放函数体(类成员函数和全局函数)的二进制代码。

C中,宏定义的常量并不会分配空间,而是在代码预编译时替换这个宏。而const修改的常量,需要根据这个常量定义而定,比如如果是全局数据则会在全局区分配空间,而局部数据会在栈区分配。
分享到:
评论

相关推荐

    C++变量总结 说明各种变量

    保存变量当前值的存储单元有两类,一类是内存,另一类是CPU中的寄存器,变量的存储属性就是讨论变量的存储位置的,C语言中定义了四种存储属性,即自动变量、外部变量、静态变量和寄存器变量,它关系到变量在内存中的...

    谭浩强C语言设计第三版.pdf

     3.2.1 命题的“真”、“假”与C语言中的逻辑值  3.2.2 关系运算与关系表达式  3.2.3 逻辑运算与逻辑表达式  3.3 选择型程序设计  3.3.1 if...else结构的应用  3.3.2 if.elseif结构的应用  3.3.3 switch结构...

    C语言程序设计标准教程

    1.形参变量只有在被调用时才分配内存单元,在调用结束时, 即刻释放所分配的内存单元。因此,形参只有在函数内部有效。 函数调用结束返回主调函数后则不能再使用该形参变量。 2.实参可以是常量、变量、表达式、函数...

    C语言指针的定义和使用

    指针就是内存中的一个地址编号,指针变量用于存储地址,指针变量也是一个变量。 内存中的每一个数据都会分配相应的地址 char 占内存一个字节,分配一个地址 int 占内存四个字节,分配四个地址 windows电脑在做数据...

    谭浩强c语言程序设计

    3.5.4 字符数据在内存中的存储形式及使用方法 41 3.5.5 字符串常量 41 3.5.6 符号常量 42 3.6 变量赋初值 42 3.7 各类数值型数据之间的混合运算 43 3.8 算术运算符和算术表达式 44 3.8.1 C运算符简介 44 3.8.2 算术...

    C语言讲义.doc

    5.10 通过FWRITE将结构保存到二进制文件中 79 5.11 FSEEK函数 80 5.12 FTELL函数 80 5.13 FFLUSH函数 80 5.14 REMOVE函数 81 5.15 RENAME函数 81 6 基础数据结构与算法 82 6.1 什么是数据结构 82 6.2 什么是算法 82 ...

    谭浩强 入门c语言教程

    3.5.4 字符数据在内存中的存储形式及使用方法 10 3.5.5 字符串常量 11 3.5.6 符号常量 12 3.6 变量赋初值 12 3.7 各类数值型数据之间的混合运算 13 3.8 算术运算符和算术表达式 14 3.8.1 C运算符简介 14 3.8.2 算术...

    谭浩强 C语言程序设计 教程全书 Word版

    3.5.4 字符数据在内存中的存储形式及使用方法 10 3.5.5 字符串常量 11 3.5.6 符号常量 12 3.6 变量赋初值 12 3.7 各类数值型数据之间的混合运算 13 3.8 算术运算符和算术表达式 14 3.8.1 C运算符简介 14 3.8.2 算术...

    C语言 0基础学习笔记

    4. 变量和存储位置之间的对应关系是操作系统决定的。 5. 只有使用变量声明语句声明过的变量才是可以使用的. 6. 变量名称用来区分不同变量,声明语句中需要包含变量名称. 7. 一个存储位置只能存储一种类型的数据,...

    谭浩强版c语言程序设计

    3.5.4 字符数据在内存中的存储形式及使用方法 41 3.5.5 字符串常量 41 3.5.6 符号常量 42 3.6 变量赋初值 42 3.7 各类数值型数据之间的混合运算 43 3.8 算术运算符和算术表达式 44 3.8.1 C运算符简介 44 3.8.2 算术...

    C语言入门经典(第4版)--源代码及课后练习答案

    2.4 变量与内存 34 2.5 整数变量类型 35 2.5.1 无符号的整数类型 35 2.5.2 使用整数类型 36 2.5.3 指定整数常量 37 2.6 浮点数 38 2.7 浮点数变量 38 2.8 使用浮点数完成除法运算 39 2.8.1 控制小数位数 40...

    《C语言程序设计》谭浩强

    3.5.4 字符数据在内存中的存储形式及使用方法 41 3.5.5 字符串常量 41 3.5.6 符号常量 42 3.6 变量赋初值 42 3.7 各类数值型数据之间的混合运算 43 3.8 算术运算符和算术表达式 44 3.8.1 C运算符简介 44 3.8.2 算术...

    C语言程序设计期末考试试卷和答案.doc版下载

    1.C语言中字符型(char)数据在内存中的存储形式是________。 A、原码 B、反码 C、补码 D、ASCII码 2.C语言中基本的数据类型包括________。 A、整型、实型、逻辑型 B、整型、实型、字符型 C、 整型、字符型、...

    C语言解析教程(原书第4版)(美) 凯利.pdf

    《c语言教程(原书第4版)》是一本优秀的c程序设计语言教材,完整描述了ansi c语言及其语法特性,并对c语言的高级特性和应用作了深入阐述,介绍了从c到c++和java过渡的相关知识。《c语言教程(原书第4版)》的一个...

    c语言(编写程序最佳参考资料)

    3.5.4 字符数据在内存中的存储形式及使用方法... 10 3.5.5 字符串常量... 11 3.5.6 符号常量... 12 3.6 变量赋初值... 12 3.7 各类数值型数据之间的混合运算... 13 3.8 算术运算符和算术表达式... 14 3.8.1 C...

    谭浩强C语言教程Word版

    9 3.5 字符型数据 9 3.5.1 字符常量 9 3.5.2 转义字符 9 3.5.3 字符变量 10 3.5.4 字符数据在内存中的存储形式及使用方法 10 3.5.5 字符串常量 11 3.5.6 符号常量 12 3.6 变量赋...

    新概念C语言.李一波(带详细书签).pdf

    11.4.2 通过传送地址值,在被调用函数中直接改变调用函数中变量的值 96 11.4.3 函数返回地址值 97 11.5 动态存储分配 98 11.6 链表的建立及基本操作 100 11.6.1 结构体中含有可以指向本结构体的指针成员 100 ...

    C语言知识点详细笔记教程

    指针:基本概念、指针运算、指针与数组的关系。 结构体和联合:定义、使用、嵌套。 内存管理:动态内存分配(malloc、calloc、realloc、free)。 文件操作:文件的打开、读写、关闭。 预处理器:宏定义、文件包含、...

    《C语言高级编程与实例剖析》源码

    《C语言高级编程与实例剖析》随书源码 第1章 内存管理 1. 1.1 预备知识 1 1.1.1 PC存储器结构 1 1.1.2 CPU地址线宽度 3 1.1.3 内存管理方式 5 1.1.4 内存编译模式 6 1.1.5 堆概念和结构 9 ...

Global site tag (gtag.js) - Google Analytics