C/C++ 变量的本质分析

1. 程序通过变量来申请和命名内存空间.

  int a=0;  //申请一个大小为int型的内存空间,这个内存空间取名叫a,申请的内存空间里存储0

2. 可以通过变量名访问变量的内存空间.

3. 修改变量的方法:

  直接修改: a =  1;

  间接修改: 拿到变量的内存空间的地址编号,修改地址编号处的内存.

  通过别名修改?? C++引用 //待补充.

4. 数据类型和变量的关系: 变量需要通过类型来定义.编译器需要知道变量类型才能为变量分配内存空间.

5. 总结:

  对内存,可读可写;

  通过变量读写数据,是往分配给变量的内存地址处读写数据,不是向变量读写数据.

  那么变量去那里了? 答: 变量是我们写的代码,变量存在于代码区. //什么是代码区? 请看 程序的四个区.

原文地址:https://www.cnblogs.com/it89/p/11069983.html

时间: 2024-10-14 00:34:56

C/C++ 变量的本质分析的相关文章

第51课 继承对象模型分析——多态的本质分析

多态的本质分析 用C写面向对象,用C实现多态 #ifndef _51_2_H_ #define _51_2_H_ typedef void Demo; typedef void Derived; Demo* Demo_Create(int i, int j); int Demo_GetI(Demo* pThis); int Demo_GetJ(Demo* pThis); int Demo_Add(Demo* pThis, int value); void Demo_Free(Demo* pThi

MPC8313ERDB在Linux从NAND FLASH读取UBoot环境变量的代码分析

[email protected] 一.故事起因 因为文件系统的增大,已经大大的超出了8MB的NOR FLASH,而不得不把内核,文件系统和设备树文件保存到NAND FLASH上.但是因为使用的是RAMDISK,而无法保存一些个别的配置和参数,最简单的需要就是设置系统的IP了,,, 要使用统一的RAMDISK,而实现LINUX启动之后,设置成不能的参数功能,比较方便的就是从UBOOT把这些参数传递过去,这个得到了大家的认证,我们可以直接添加启动参数,然后在内核里面读出来,这种方法比较方法,唯一不

PHP 替换模板变量实现步骤分析

PHP 替换模板变量实现步骤分析,大家可以参考下. 1.首先需要打开一个文件.这里用到了PHP ->fopen();函数 定义和用法 fopen() 函数打开文件或者 URL. 如果打开失败,本函数返回 FALSE. 函数原型: fopen(filename,mode,include_path,context) 说明fopen() 将 filename 指定的名字资源绑定到一个流上.如果 filename 是 "scheme://..." 的格式,则被当成一个 URL,PHP 将

ios-(5)变量的内存分析、Scanf函数

一.变量的内存分析 1.字节和地址 * 为了更好地理解变量在内存中得存储细节,先来认识一下内存中得"字节"和"地址". * 内存以字节为单位 * 不同类型占用的字节是不一样的,数据越大,所需的字节数九越多 2.变量存储 * 所占用的字节数跟类型有关,也跟编译器环境有关   16位编译器 32位编译器 64位编译器 char 1 1 1 int 2 4 4 float 4 4 4 double 8 8 8 * 变量实例 int b =10; int a = 20; #

环境变量的本质:工作空间在系统或网络上的延伸

环境变量的本质:工作空间在系统或网络上的延伸. 指定(使用方)(文件.数据等的)搜索空间 环境变量的数据:文件(可执行文件.数据)或文件夹: 环境变量的设置:配置文件: 环境变量的使用方:系统shell.功能软件(进程). 环境变量是软件工作时需要使用的文件(系统)的缺省配置. 思想: 1.集合 2.一切皆文件 3.配置 三要素: 1.宿主.使用方: 2.文件.数据.文件空间 3.配置文件 原文地址:https://www.cnblogs.com/feng9exe/p/12191267.html

变量的内存分析

一.字节和地址 1.内存以字节为单位 每个字节都有自己的内存地址,根据地址就可以找到该字节.整个内存相当于一整个酒店,而酒店以房间为单位,在这里每个房间就相当于是每个字节,地址就是房号,根据房号可以找到房间(根据地址也可以找到内存中的字节).相邻房间的房号是连续的,相邻字节的地址也是连续的.计算机中通常以十六进制表示地址. 2.不同数据类型占用的字节是不一样的,数据越大则占用的字节数越多.如在64位编译器下,int类型占据4个字节,char类型占据1个字节. 二.变量的存储 1.内存寻址由大到小

int变量赋值给char变量的本质

本质上,int变量将其最低一个字节的内容,赋值给char变量. 如下代码: int a = 0xFFFFFF41; char c = a; printf("c: %c\n", c); 根据小端存储模式,a的低位一字节存放的是十六进制数41,它的十进制数是65,对应的ASCII字符是A. 由于a的低位一字节内容赋值给了c,因此c的值就是十进制数65,输出字符结果为A.

黑马程序员————子父类中成员变量的内存分析

对于java单个类的内存分析相信大家都了解,但是如果结合继承,子类与父类是如何存在在内存中的呢,他们的先后调用关系又改是怎样的呢? 首先简单介绍一下对象的初始化过程,比如这个简单的例子 class Student{ int i =20; String name="李四"; static{ System.out.println("我是静态代码块"); } { System.out.println("我是构造代码块"); } void print()

第27课 数组的本质分析

1. 数组的概念 (1)数组是相同类型的变量的有序集合 (2)数组在一片连续的内存空间中存储元素 (3)数组元素的个数可以显示或隐式指定 [编程实验]数组的初始化 #include <stdio.h> int main(){ //数组初始化 int a[5] = {1, 2};//第1.2个元素分别为1.2,其余为0 int b[] = {1, 2};//编译过程中,编译会为计算数组b的大小 int i=0; for (i = 0;i < 4;i++) { printf("a[