zoukankan      html  css  js  c++  java
  • 指针学习

    指针是一个数值为地址的变量(或更一般的说是一个数据对象),正如char类型的变量用字符作为其数值,而int类型变量的数值是整数,指针变量的数值表示的是地址。

    将某个指针变量命名为ptr

    1 ptr = & pooh;  /*把pooh的地址赋给ptr*/

    对于这个语句,我们称ptr“指向”pooh。

    ptr和&pooh的区别在于:ptr是个变量,pooh是一个常量。

    当然,ptr可以指向任何地方:

    ptr = & bah;  /*令ptr指向bah而不是pooh*/

    这时ptr的值是bah的地址。

    要创建一个指针变量,首先要声明其类型。假设欲把ptr声明为可以存放一个int数值地址,就需要使用间接运算符

    假定ptr指向bah,如下所示:

    1 ptr = & bah;

     这时就可以使用间接运算符获取bah中存放的数值

    val = * ptr;  /*得到ptr指向的值*/

    语句ptr = &bah;以及语句val = * ptr;放在一起等同于下面的语句:

    1 val = bah;

    由此看出,使用地址运算符和间接运算符可以间接完成上述语句的功能,这也正是“间接运算符”名称的由来。

    指针的声明:

    pointer ptr;  /*不能这样声明一个指针*/

    原因是这对于声明一个变量为指针是不够的,还需要说明指针所指向变量类型

    不同的变量类型占用的存储空间大小不同 ,而有些指针操作需要知道变量类型占用的存储空间

    同时,程序也需要了解地址中存储的是何种数据。

    例如,longfloat两种类型的数值可能使用相同大小的存储空间,但是他们的数据存储方式完全不同。

    1 int * pi;  /*pi是指向一个整数变量的指针*/
    2 char * pc;  /*pc是指向一个字符变量的指针*/
    3 float * pf, * pg;  /*pf和pg是指向浮点变量的指针*/

     类型表示符表明了被指向变量的类型,而表示该变量为一指针。

    声明intpi;

    意思是pi是一个指针,而且pi是int类型的。

  • 相关阅读:
    80x86的保护模式
    计算机二进制的表示
    操作系统基本知识(一)
    记录一次在安装双系统的过程(先有debian, 后加windows 8.1)
    LitePal + Gson + Volley的ORM框架尝试方案
    如何使用DDMS Heap查看Android应用内存情况
    测试驱动开发的第一个例子---我的毕业设计
    策略模式的孪生兄弟---状态模式
    面试常备---栈和队列总结篇
    面试常备题---二叉树总结篇
  • 原文地址:https://www.cnblogs.com/junsircoding/p/point.html
Copyright © 2011-2022 走看看