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类型的。

  • 相关阅读:
    QT之QRect函数QRect::adjust()函数
    QT 正则表达式(进阶篇)IP,端口号,文件名,非空格字符的匹配,已验证
    QT 正则表达式(基础篇)
    处理不平衡数据的策略
    记录一下ssh,nfs安装步骤
    用户偏好的回归预测推荐
    SVD++分解
    BiasLFM分解
    WALS分解
    ALS分解
  • 原文地址:https://www.cnblogs.com/junsircoding/p/point.html
Copyright © 2011-2022 走看看