zoukankan      html  css  js  c++  java
  • 指针的总结一(指针的定义)

     指针的实质就是地址,指针的变量就是用来存放地址的变量;指针有一级指针和二级指针之分。 

    一.一级指针的介绍

    1.  指针变量的定义格式如下:

              数据类型 *指针变量名

                   int   *p; (p为指针变量名,类型为int)

                 char  *ch; (ch为指针变量名,类型为char)

                        ……

             需要知道的是,指针变量只能用来存放地址; 

                               * 表示这个变量是一个指针变量;

                               * 指针变量名,表示获取这指针变量指向的内存空间的内容;

                               int 表示这个指针变量只能存放int类型的变量的地址;    指针变量也有全局变量和局部的变量。  

                                           

    2.  指针变量的初始化和引用

       指针变量的初始化可以分为4种,以下为指针变量的初始化和引用。

         1)定义的同时并进行初始化

             int *p=&a; (int 类型,指针名为p—p表示的是地址,把a的地址赋值给p);

                  

    可看出a的地址和p的值是一样的,说明把a的地址给了p这个指针变量.因为p是指针变量,也就是变量,既然是变量就可以重新赋值。即

                 

       其实质是,p指针的指向已经发生改变。

    2)先定义指针变量,然后再初始化

            int *p1;

             *p1=&b;(b之前已定义过);

    3)可以用一个已经存在的指针变量来初始化

        

    4)给指针变量赋值为NULL;

    其中,int *p5=NULL 表示指针变量 p5指向内存中地址为0的地方。

         从上可以,* 使用的场合有两个:第一个是,用在定义变量的时候,表示定义的是一个指针变量;第二个是, *指针变量名,表示获取指针变量指向的内存空间的内容。

    总结一下一级指针的知识:

       int num=10;

       int *p=num;

    (p为指针变量,p的地址为&p,p的值为num的地址即&num)

    二. 二级指针的介绍

          以上介绍的是一级指针,接下来介绍的是二级指针的定义和使用。何为二级指针?二级指针就是用来存放指针变量的地址!

       一级指针的定义:

              数据类型 *指针变量名

                    int   *p; (p为指针变量名,类型为int)

                  char  *ch; (ch为指针变量名,类型为char)

        二级指针的定义:

            数据类型 **指针变量名

                  int   **p; (p为二级指针变量名,类型为int)

          另外,如果printf(“p1=%p ”,p1)表示取p1得地址!         

          而且,二级指针只能存放一级指针变量的地址;如果直接把二级指针直接指向常量的地址是不可以的!如下:

    从上图表明上面的那种定义是错误的,要注意不能犯!

         当然还有三级指针,三级指针就是存放二级指针变量的地址!  int  ***p3=&p2;

  • 相关阅读:
    Android学习之DatePicker和TimePicker
    Android学习之Spinner
    Android学习之Handler消息
    Android学习之Dialog
    Android学习之SeekBar(控制wav音频的声音)
    Android学习之Gallery
    android R文件不能识别?
    Android学习之RadioGroup和RadioButton
    Android中实现定时器的3中方法
    activity的启动模式有哪些?
  • 原文地址:https://www.cnblogs.com/lyz0925/p/4352312.html
Copyright © 2011-2022 走看看