第11章 指针进阶

概念1 指针数组

指针数组可看做定义了一系列指针,如定义了指针数组p[],p和p[0]是代表同一个地址。不可用*p,必须*p[0],如指向的是字符串,*p[0]表示的是字符串第一个字符,*(p[0]+1)表示第二个。

概念2 二重指针

二重指针为指向指针的指针,

定义格式为:变量类型   **变量名;

如:int a=10;int *p=&a;int **pp;

指针变量也是变量,因此二重指针也是变量;

变量的成分有变量名,变量地址,变量实际值。7

我们有如下关系: 

变量名appp
地址&a&p&pp
实际值10    

&a

&p

二重指向:

我们知道,指针p可以指向a,

即                      *p=a

也有                  *pp=p

那么用*pp代替p有     **pp=a

我们得到        **pp=*p=a

二重取地址 :

我们知道,指针p的实际值为变量的地址。

即                       p=&a

也有                   pp=&p

用&a代替p,代入上式有     pp=&&a

我们得到        pp=&p=&&a

概念3  const指针

设为const的变量,比如const指针,只能改变其指向的值,而不能改变其自身的值,比如定义了两个指针。const char *p1="hello",*p2="world"。

不能做p1=p2,但是可以*p1=“world”。

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值