指针

作者: 爱丶Notexplain | 来源:发表于2021-03-16 15:11 被阅读0次

    指针的基础、

    c语言中的指针,可以使程序简洁,高效,紧凑。在计算机内部存储器中,没一个字节单元都有一个编号,称之为地址。这个地址就相当于门牌号。

    简单的说指针就是一个地址。同样称之为指针变量。

    指针变量、

    指针它不是基本类型,而是一种构造类型,一般形式为:

    类型说明符  变量名;

    其中“*”表示一个指针变量,例如:

    int *p;

    以上代码表示p是一个指针变量,它的值是某个整形变量的地址,或者说p指向一个整形变量。

    static int  p1;//p1是指向静态整形变量的指针变量。

    folat p2;//p2是指向浮点类的指针变量。

    char p3;//p3是指向字符类型的指针变量。

    指针变量的赋值、

    变量的地址是由编译系统分配的,用户不知道具体地址,在c语言中提供了地址运算符“&”来表示变量的地址;

    指针的运算、

    指针运算时以指针变量所存放的值(地址量)作为运算量而进行的运算,指针的运算就是地址的计算。

    指针的算术运算、

    运算符                 计算公式                      意义

    +                            p+n                 指针向地址大的方向移动n个数据

    -                             p-n                  指针向地址小的方向移动n个数据

    ++                       p++或++p          指针向地址大的方向移动1个数据

    --                          p--或--p            指针向地址小的地方移动1和数据

     -                             p-q                 两个指针之间相隔数据元素的个数

    注(不同数据类型的两个指针实行加减乘除运算是无意义的)。

    指针的关系运算、

    两指针之间的关系运算,表示它们指向的地址之间的关系运算。

    运算符         说明          列子          运算符             说明           列子

       >               大于          p>q            <=                小于等于      p<=q

      <               小于           p<q              !=                  不等于        p!=q

       >=         大于等于      p>=q            ==                   等于           p==q

    空指针、

    指的是指针变量存了零号地址。注(访问零号地址存储的值或者修改其值,都是不允许的,运行程序是,会出现下面情况:Segmentation  fault)

    在对指针进行间接引用前,应该先判断该该指针是都为NULL,这样才不会出现错误。

    const指针、

    修饰最近一个变量,变量一旦被修饰,其值就不可能被改变。

    相关文章

      网友评论

          本文标题:指针

          本文链接:https://www.haomeiwen.com/subject/bcdemftx.html