C++学习笔记零

指针定义

 小白的学习笔记啦啦啦啦 ~~~

指针

我的理解是: 定义一个指针p,p表示变量名称,变量实际上就是地址,p 指向这个地址中存储的数值(变量名其实就是一个存储地址:例如:对于int a[3]={2,5,7}, a是一个int类型的变量,每一个变量名称就是存储的地址,地址&a[0]中存储的数值为2)
常见用法:int p = &a
如:
定义一个指针p,指针类型为int
:int
p,那么指针的大小为sizeof(int)=4, 即4个字节;
定义一个数组: char a[20],定义一个指针m,指针类型为int*,m指向数组a的首地址: int *m = a,那么sizeof(m)应该是多少呢?
答案仍是4个字节,那么为什么不是20个字节呢?
虽然m指向的数值是一个大小为20个字节的数组,但是对于指针本身的大小只和它自身的数据类型有关,与它指向的数据类型无关。因为指针本身会有一个地址即内存区,指针的大小是这个地址的大小,m是一个int类型的指针,虽然它指向了一个char类型的数组,但他的大小仍为sizeof(int) = 4.
因此 m+1 指向的是a[4]的地址。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值