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

  • 相关阅读:
    [From 11.1~11.4]事件
    [From 10.1~10.5] 对象和集合初始化器(C#语法糖系列)
    [From 9.3]out和ref关键字
    [From 8.5]转换操作符方法
    将博客搬至CSDN
    QPS 与 TPS 简介
    在cenos中,通过subversion源码进行安装
    no acceptable C compiler found in $PATH
    tgz解压
    程序中的@Override是什么意思?
  • 原文地址:https://www.cnblogs.com/junsircoding/p/point.html
Copyright © 2011-2022 走看看