zoukankan      html  css  js  c++  java
  • 关于变量和指针的深度理解

    在学过编程语言之后,我们都知道访问一个变量的数据两种方式。一种是通过直接变量名进行访问,另一种,自然而然的是通过地址,也就是指针来进行访问数据。相信很多同学在接触指针的时候,会和变量之间产生困扰,因此觉得指针难懂,很搞脑筋,今天我就对指针和变量之间的关系和相关原理进行介绍,希望可以给予一些些在理解上的帮助。

      当我们定义一个变量时,计算机会为该变量定开辟一段空间,此时,变量本身也被赋予了一定的含义,也就是变量数据存储单位的直接地址。相对应的,指针变量,也是一个地址,所不同的是变量地址所具有的内容直接是数据,而指针变量所具有的内容是一个地址值。

      程序在编译时,是将我们所定义变量的代码转化成一个相对地址,指令,则通过相对地址以直接寻址的方式找到数据,并进行相关的运算。因此计算机所得到的指针的值,只是一个地址值,是无法参与数据间运算的(指针本身的运算方式除外)。因此通常,我们会用到*,即取值,进一步发出取值指令,而获取到我们想要的数据。而&则恰好相反,是将数据回退到地址。

      记住变量是直接寻址,而指针是间接寻址,结合计算机组成原理的知识,就可以更清晰的理解,变量和指针变量的关系啦。

    敢于面对难题,敢于面对自己。
  • 相关阅读:
    eclipse整合spring+springMVC+Mybatis
    复杂系统分析与设计思路
    .NET数据挖掘与机器学习开源框架
    原来rollup这么简单之 rollup.watch篇
    面试官:说说你对css效率的理解
    两个实用的调试技巧
    Roma
    一个很实用的css技巧简析
    仅仅知道如何终止XHR请求,或许对你来说是不够的!
    再问你一遍,你真的了解try..catch(finally)吗???
  • 原文地址:https://www.cnblogs.com/cittysteven/p/6591635.html
Copyright © 2011-2022 走看看