地址与指针(C++学习笔记)

学习资源来自于VC驿站,部分地方有引用VC驿站,特此申明。

1.地址

每一个数据都会储存在相应的地址,如果要知道变量的地址,则可以通过:

int a=0;

cout<<&a<<endl;

将变量a的地址打印出来。地址的表示方式很复杂,多为“0X”+“(一串数字)”。

2.指针

为了将地址用一种更好的方式表达出来,定义什么类型的指针,就在*前面加类型。如:

int* p;//定一个整型的指针p。

如果我们要把a变量的地址给指针,那么要怎么做呢?

int* p=a;//这样能行吗?前面一个是指针,后面一个是整型数据,肯定不行。但是我们将a变成地址呢?因为指针就是表示地址的一种方式,我们可以通过:

int* p=&a;//这种方式表示。p是一个指针变量,指针变量也是有地址的,&p就是它的地址。指针变量的内容是反映其它变量的。

通过变量的地址,也可以得到变量的自身,

int a = 5;
int* pa = &a;
*pa = 6;
即:在指针变量的前面加上一个*就能得到指针指向的变量自身。
所以对一个变量的修改,既可以通过该变量自身(直接修改),也可以通过指针/地址来实现修改(间接修改)。

也就是说单纯的pa是一个指针变量,用于表示变量的地址,加上一个*就指向地址所在的内容,是表示变量的内容。

文中提到了值传递和地址传递可以参考:https://blog.csdn.net/ccblogger/article/details/77752659?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值