zoukankan      html  css  js  c++  java
  • 指针与变量

    作者:知乎用户
    链接:https://www.zhihu.com/question/26623283/answer/33493657
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    变量
    一个东西在内存里面,而你想用语言去表示那个东西,就必须找到一个符合去表示它。[它可以是常量、变量]。

    int a = 2;
    就是把2这个值,放在了内存中。(但是你不知道它的位置,如果你有看到整个内存的能力,你有可能发现有一个2在No.300处)
    但是你想去调用它,必须有一个东西代表它,于是用变量a代表了这块内存中的内容.

    有了变量,你就可以用他传递值,调用它、修改它,玩弄它,让他欲罢不能。

    指针
    如果你只有这一行程序的话,那指针就没有太大的存在必要了。
    但是如果你有好几个函数需要读写这个值,那么这时候问题就来了。
    int myMoney = 1000;
    如果你的账上有1000元,有好几个函数要操作这个值,这时候就会产生两种需求。
    在函数里修改这个值的时候是应该修改原值呢? 还是不修改原值?

    如果使用foo(myMoney)这种形式的话,就会把myMoney代表的内存中的内容“复制”一份到函数栈里,这样你在函数里修改这个值不会对外界有任何影响。

    但是,如果你想在函数中对原值进行操作,这时候就不能只传进来内容,而需要传进来一个myMoney的地址,这样,在函数里面就能再程序找到那块地址,把内容修改掉。

    所以有了传递地址的需求。为了方便传递地址,所以有了指针,指针也是一个变量,只不过里面存的内容是一个地址。

    总结地来说, 变量为了表示数据而生, 指针为了传递数据为生。

    -------------- 抛翔引玉 ---------------
    还望各位大神多批评。
  • 相关阅读:
    python 计时累积超过24小时时继续往上累加
    linux 下获取文件最后几行
    unbuntu 安装python包提示E: Unable to locate package python-timeout
    python 计时器
    jquery中html()、text()、val()的区别
    DESC和 ACS
    jQuery自动截取文字长度,超过部分
    Spring MVC 注解
    注解笔记
    Spring Data JPA初使用 *****重要********
  • 原文地址:https://www.cnblogs.com/feng9exe/p/7272779.html
Copyright © 2011-2022 走看看