指针和变量

首先了解一下一些相关的概念:

1指针变量:存放地址的变量称为指针变量。指针变量是一种特殊的变量,它不同于一般的变量,一般变量存放的是数据本身,而指针变量存放的是数据的地址

2&:取地址运算符,如&a是变量a的地址。

3*:指针运算符(或称“间接访问”运算符),*a代表指针变量a指向的对象。

4int  是整型数据类型,int ii是该类型的变量,i是整型变量,&ii的地址,是指向int变量i的指针。

5int * 是指向整型数据的指针类型(也是一个类型),int * jj是指向整型数据(int)的指针变量,是指针变量,&jj的地址,&j是指向指针变量j的指针。

6int ** 是指向指针(指向一个整型数据)的指针类型,int ** kk是指向指向一个整型数据(int *)的指针变量,是指针变量,&kk的地址,&k是指向指针变量k的指针。

 

具体例子:

int * j = &i;

int ** k = &j;

有如下表格:

变量名

变量值

变量地址

i

0x03

0x10

j

0x10

0x20

k

0x20

0x30

从此表格可以看出,整型变量i的存储单元存着一个数值0x03,这个存储单元的地址是0x10,而指针变量j的存储单元存着一个数值0x10,这个存储单元的地址是0x20,也就是说,j里面存着的变量值是i的变量地址,而k的存储单元里存着的是j的地址0x20,而k存储单元的地址是0x30,则它们有如下关系:

 

1)先只看 int * j = &i如下:

j = &i

*j = *(&i) = i

 

2)加上int ** k = &j后如下:

k=*(&k)=&j

*k=*(&j)=j=&i

*(*k)=*(*(&j))=* j=* (&i)=i

 

总结:

要记住,指针是地址,而指针变量是存放某个地址的变量,并且可以通过*”来访问变量值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值