zoukankan      html  css  js  c++  java
  • 指针的基本运用一

    指针,对于新人而言或许觉得很难,那么小编就想说明下,这是因为你接触的太少,其实指针也是有套路的。

    首先,先看下指针是如何赋值的样式图:

    &代表取地址。即&后面跟的不管是什么,他都代表一个地址。

    上图简单明了,有两种int类型指针赋值方法。

    从其中,我们能看出什么?

    或许有人认为第二种方式更能懂一点,就是一个int类型指针p2等于a的地址。

    那么第一种又该如何理解呢?

    首先理解前,我们全得看编译器如何理解的,先打印下看看结果如何:

    打印效果图:

    我们从中能观察出,p他就是指针的地址。而*p才是真正的a值。

     大相径庭的说法就是:p是地址,存放6的地址,而*p变相于变量,因为他可以直接打印。

    就像一座房子住六个人,这房子在某某村某某号,地址就是如同某村某号,类似这样的意思。

    既然知晓了指针最基本的赋值法,我们继续深研一下。

    我们如何将指针值改变下呢?或许有人会这样想吧,如下图。

     打印结果为:

    是不是让人无语的打印结果,数字竟然莫名其妙的变为乱七八糟的数字。

    就是说明了指针本身无法改变,很难理解?看看上图,编译器就是最好的结果。他无法打印成7.

    那么如何才能打印呢?看下图:

    打印结果:

    是不是很简单的方法。

    但是记住:前面说了指针如同房子地址,现在加入一个人或者两个人了,他的地址没变是可以肯定的了,还是原来的p。

    那我们看看他a的值有没有变化?就是说房子里住几口人?打印结果:

    咦,是不是很奇怪,我变动的是指针p的值,这跟a有什么关系呢?

    这里就有一个概念性的规则。改变指针值,能改变该地址上变量的值,即a的值。

    意思就是房子地址没变,房子里多了两人。

    下面就来多个例子验证下,仔细看图,边写边打印,就是最好的效果图:

    打印效果图:证明声明没有错误。

    两个指针如何赋值呢?

    打印效果图:证明交换地址没有问题。

    记住:指针变量就是类似写法 int *p;一样。指针变量就是变量。

    那么变量之间也可以赋值吗?试试就知道了,如下图:

     打印效果报错。有个警告。

    改成这样后,照样能打印指针b的值,如下图:

    打印效果:

    那么又说明了一个概念性,地址只能和地址相交换,变量只能和变量间赋值。否则无法打印想要的结果。甚至报错。

     文字纯属于小编的见解,仅供参考用的,如有不妥,请见谅。

    条条英符铸平凡,行行代码显乾坤;
  • 相关阅读:
    一条语句批量插入多条数据
    VMware Workstation 15 Pro 永久激活密钥
    windows下java项目打包、启动批处理 .bat文件
    java简写名词解释
    windows查看所有进程:netstat -ano
    Java验证jwt token
    【转载】三种方法从 HTTPS 网站导出 SSL 证书链
    使用solr将CSV/XML/DB/JSON数据发布为Rest Service
    检验多个xsd的xml是否合法
    Eclipse 打包运行maven项目
  • 原文地址:https://www.cnblogs.com/VisiousDragon/p/7976565.html
Copyright © 2011-2022 走看看