C语言指针复习

C语言指针复习

一,基本概念:指针是C语言中的一种数据类型,该类型定义的类型变量就是指针变量。在该变量存储的是一个地址。

(指针变量存储的是一个地址,所以说指针就是地址,地址就是指针)

二,分类:一级指针和多级指针

 

     二级指针存储的就是一级指针的地址

   *ppa访问的就是pa   , **ppa访问的就是&pa  (三级指针也是同样的)

三,指针的使用

    *和->       (->只能用于结构体和类中)

四,指针的大小

    在32位系统下指针的大小为4个字节,在64位系统下是8个字节。

五,const修饰指针

   一级指针:int a = 10;
    const int *p1;
    int const *p2;
    //等价修饰的是指针变量,其实p1和p2就是普通指针,并没有被const修饰,即可以修改p1和p2的值。
    //但p1和p2指向的是const int*,即指向的是一个被const修饰的int,也就是*p1和*p2是被const修饰,不要尝试修改*p1和*p2的值;
    int *const p3=&a;
    //p3是一个指向int型的指针,被const修饰,声明时必须同时初始化, 之后不要尝试修改p3的值。
    const int *const p4 =&a;
    //p4及*p4均被const修饰;声明时必须同时初始化。之后不要尝试修改p4与*p4;
    return 0;

 六,数组指针与指针数组

     数组指针:数值指针是一个指针,说的是这个指针指向一个数组。int (*p) [5]

     指针数组:指针数值是一个数组,说这个数组的所有元素都是指针类型。int *p[5]

七,指针与引用的区别

 (1)概念区别指针是一:个变量,是变量存储的是一个地址,指向内存的一个存储单元,即指针是一个实体。

          引用:原来的变量实质上是一个东西,只是原变量的一个别名

 (2)const可以修饰指针而不能修饰引用

 (3)指针可以有多级指针,而引用不可以

 (4)指针可以为空,引用不可以为空,必须在定义时初始化

 (5)指针是一个变量,在初始化化后可以更改。引用在初始化后就不能更改

 (6)指针的大小根据系统而决定(32位下位4字节,64位下为8字节),而引用的大小根据所指变量而决定

 (7)++运算符的意义不一样


 

 

 

 

  • 22
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 23
    评论
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值