指针(c语言)

指针

相关概念

  • 指针基本概念:计算机中的数据是放在存储器中的,存储器中的一个字节称为一个内存单元,每个内存单元都有相应的编号,可以由编号找到相应的内存单元。内存单元的编号叫做地址,也把其称为指针。
  • 指针变量:在c语言中允许用一个变量来存放指针,这种变量称为指针变量。一个指针变量的值就是某个内存单元的地址,或称为某个内存单元的指针。

指针变量的定义与初始化

指针变量使用前必须定义,定义时应该指明变量的类型名和变量名。

  • 指针变量的定义:类型说明符 *变量名;
    (说明 *表示这是一个指针变量)
    int *p1;/*定义一个指向整形变量的指针*\
    (指针变量只能指向相同类型的变量,如p1只能指向int类型的变量,而不能指向浮点型)
  • 操作符 &:&是取地址符,是一元操作符只能返回一个操作数,返回的是地址。
  • 操作符*:*是间接引用运算符,也称为复引用运算符,是一元操作符,返回操作数所值的变量的值。
    (注意:*在不同的场合的作用是不同的,若出现在定义变量中,*说明p是指针若出现在引用中如int a=1;b,*p;p=&a ;b=*p;b=*p; *p=1,p就是间接访问p所指的对象,即p就是p所指的变量a )
    (指针变量在使用前必须赋予具体的值,为赋值不能使用)

指针运算

  • 指针的赋值运算
//1.将变量的地址赋值给指针变量
int a,*p;//此时p没有指向具体的整型变量,可以将a的地址赋给p
p=&a;
//2.将已经被赋值的指针复制给另外一个指针
int *p1,*p2,a=1,b=2;
p1=&a,p2=&b;
p1=p2;
//给指针变量赋予空值
//p=0或p=NULL或p=‘0’ 此时指针p不指向任何变量是空值,且指针除了可以被赋值常量0外不能赋值其他常量,如p=10的表述方法是错误的。
  • 指针的算数运算
    指针可以进行加减,但这并不是一个简单的数值加减,而是指针的移动。
    例如,
    int a=1,b=2,c=3,*p;
    p=&a;
    p=p+2;
    //表示的是指针向下移动两个整型变量的位置
    

p-> |1| 运算后|1|
-----|2|----------|2|
---- |3|------p->|3|

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值