指针基础原理详解

想要了解指针,就得先了解内存和地址。

我们电脑里面有一个硬件叫做内存条,他是用来存储用户输入或是程序的数据。

而地址就是存入内存的数据的位置。

内存就像现实中的宿舍有很多个房间,地址就是对应的门牌号。

数据在内存里面是以十六进制的形式存放的,地址的大小取决于是32位机器还是64位机器;

32位机器对应的地址大小是4个字节,64位机器对应的地址大小是8个字节;

指针变量 

其实我们可以理解成: 指针 == 地址

我们创建一个变量的时候,实际就是向内存申请了一块空间,根据创建的变量的类型不同申请的空间大小就不一样,例如 int 类型的就是四个字节;

 指针变量就是存储一个变量的地址的变量,这里我们要知道取地址符( & ),& 是用来取出某个变量地址用的;

那么下面演示一下如何创建指针变量

int main()
{
    int a = 6;
    int* pa = &a; //int* 是pa的指针类型,是整型指针变量。同样的还会有char* short* ....... 
    return 0;
}

这样我们就把a变量的地址存放在pa里面了。 

那么有什么用呢?实际上我们可以通过pa来取出存放在a里面的数据,这个时候我们要用到解引用操作符( * )

野指针

概念: 野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值