zoukankan      html  css  js  c++  java
  • 简单指针详解

    • 废话少说,首先看两个例子:
    • Ps1:
    结果:
    • Ps2

    • 解析

       上下两个main()内容一致,为什么结果不同,主要是fun()内部的差别,首先要明白所谓指针不过也是变量而已,跟int、long等变量一样,只不过他的值为地址罢了,没有什么神秘的,第一个fun(q)是把q的值赋给另一个指针p,j就像两个int变量a,b,a=b一样。此时p指向的内容就是q指向的内容,即为1。然后p被重新赋值p的值发生变化,那他指向的地址就变了啊,这时p指向的内容为22。而q指向不变,因为q并未发生变化,就像a,b一样,b如何变跟a没关系。所以q指向的内容仍为1,并不变。下面那个例子变化是因为fun()中并不是p的值发生了变化p并没有被重新赋值 ,而是“ *p “”这个整体发生了变化,*p即为p指向的内容,也就是说是p所指向的地址里的内容变了,所以结果为22.

    • 总结

      简单来说就是:第一个是有俩变量p和q,刚开始他们指向一致,指向的内容始终没变,后来p变了但不关q的事,输出的是*p,结果自然不变;第二个是从始至终他俩指向都没变,但是他们指向的内容发生了变化,结果自然变了。

      ps:你要是还没明白,我在做个比喻。有两根绳子,一根黄色,一根红色,还有一根香蕉,一个苹果。例一就是开始红绳、黄绳都拴着苹果,后来黄绳不栓苹果了,去栓香蕉了,结果问你红绳栓啥,自然是苹果,并没变。例二就是开始红绳、黄绳都栓着苹果,后来小明把苹果换成了香蕉,问你,红绳栓的是啥,自然都是是香蕉。

      

  • 相关阅读:
    python反爬之js混淆-字符串映射
    How to Provide a Default Trace for a Cloud Application
    Reset Peak Used Memory
    SAP 课程
    note 1639578 and 1622837
    SAP License error
    SAP BASIS-System Move
    初识Agile(敏捷项目管理)
    SAP HANA升级
    SAP FIORI 部署
  • 原文地址:https://www.cnblogs.com/zwsmile/p/12500665.html
Copyright © 2011-2022 走看看