指针入门 鸠占鹊巢

指针就是一个地址,是C的精髓所在

1,先看一下基础的完整代码

#include<iostream>
using namespace std;
#include<string>
int main()
{
    //****定义指针*****
    int a=10;
    int*p;
     p=&a;//让指针记录变量a的地址
     cout<<"a的地址为;"<<&a<<endl;//输出a的地址用&a 
     cout<<"指针p为;"<<p<<endl; 
     //****使用指针****
     //可以通过解引用的方式来找到指针指向的内存 
     //指针前加*代表解引用,找到指针指向的内存中的数据 
     *p=1000;
     cout<<"a="<<a<<endl;
     cout<<"*p="<<*p<<endl;
    system("pause"); 
    return 0;
 } 

代码部分我用C++写的,也可以用C来写

下面是代码的运行结果

解释*p,&p

首先就是定义一个指针,可以用 int *p;,指针是一个什么东西呢,我用自己的理解来大白话的解释一下,指针就是一个地址,现在你定义了一个整型 int a=10;关于a的值肯定存储在计算机的某一个位置,我把它称为a的家,然后令p=&a,这个就是让指针p去找到并且记录一下a的家在哪,并且也让指针p也先住在a的家里,这时a的家里还住着我们给他复制的10,这时候a 的地址和指针p的地址就相同了,p到人家家里了,肯定不能闲着,这时候令*p=1000,这句话官方定义就是解引用,在我看来,就是鸠占鹊巢,把自己的东西(1000)强塞进a的家里,这时候再输出a的值的时候就是1000,就是鸠占鹊巢

相当于把a的家偷了,a的值是从家里取的,指针的指向是确定a家的位置(p=&a) ,*p是去偷家,并用自己的值来代替a,相当于是鸠占鹊巢

看看代码再看看运行结果我觉得应该能理解指针

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值