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的地址,这样,在函数里面就能再程序找到那块地址,把内容修改掉。

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

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

    -------------- 抛翔引玉 ---------------
    还望各位大神多批评。
  • 相关阅读:
    Linux下OpenSSL自签ssl证书
    戌蛤怒触铁铁树
    Python自动化办公-自动化操作Excell-openpyxl
    Python正则表达式
    Django中F查询
    如何知道自家的宽带是多少兆?
    ‘Diango中明明模版的名称写的是对的,但是访问url的时候发现没调用模版’解决方案
    Django中的聚合函数
    Django中的跨关系查询
    【RabbitMQ】零、Windows64位安装
  • 原文地址:https://www.cnblogs.com/feng9exe/p/7272779.html
Copyright © 2011-2022 走看看