c语言指针(真的超级简单,几分钟就学会)

很多小伙伴觉得指针是一个特别难的东西,那只是你没有看清楚指针的本质,看完我这篇,你会发现真的超级超级简单

int a=3;

比如说我现在定义一个整型变量a=3,那这个代码的本质是什么? 当程序读到这段话的时,自动的就会在底层开辟一个空间,这个空间的名字就叫a,里面存的值就是 3 如图所示

 如果是这个代码呢

int *b=&a;

它的本质不也就是在底层开辟一个空间,这个空间的名字叫b,存的是数据就是变量a的地址,那为什么可以变量b可以存变量a的地址,因为b是整形指针数据类型,它可以存整形变量地址,如图所示

 那我怎么验证b变量存的是a的地址呢?

很简单,打印a的地址和b变量不就行了

cout<<&a;
cout<<b;

 你们自己去试一下

好,那我现在想知道a变量的值,我们该怎么做,第一种方法,当然是直接输出a,但是我现在想通过输出a变量的值,那我们应该如何做呢?很简单,解开b,此话怎么理解,就是于解开a的地址,你只有解开a的地址才能拿到a变量 那怎么解 在变量b面前加 *号(我们这个操作更专业一点就叫解引用)

代码演示

cout<<*b

 此时*b的值就是a的值3

以后遇见2级指针就可以存1级指针d地址 也就是说 int** 可以存 int*

3级指针可以存2级指针的地址     int***  可以存 int**

依次类推

完整代码

#include<iostream>
using namespace std;
int main()
{
	int a = 3;//定义整形变量
	int* b = &a;//定义整形指针变量存储变量a的地址
	cout <<"a变量地址是:" << &a<<endl;//打印a变量地址
	cout <<"b变量的值是:"<<b<<endl;//打印b变量
	cout << "变量的值是:" << a<<endl;
	cout << "*b的值是:" << *b;//解引用b
	return 0;
}

 运行效果:

指针是不是超级简单!!!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值