C++ 彻底搞懂指针(1)

当有人问起,什么是指针时,我会毫不犹豫地回答,指针变量存放的是地址!然后呢,好像也说不出什么了,今天就再来详细看一下指针吧。

本文提纲如下:

    •    指针变量

    •    未初始化的指针

    •    NULL

    •    void指针

    •    指针的指针

首先要明白几点:

    •    每个字节都有自己唯一的地址,就像门牌号一样,根据地址可以准确地找到某个字节

    •    如果知道一个变量的存储地址,那么就可以根据这个地址得到这个变量的值。但是这很难,因为很难知道某个变量的具体地址,所以一般都是使用变量名字而不是地址来访问内存的位置

    •    变量名让我们用更方便的方式记住地址,实际上,变量名和地址之间的对应关系是由编译器来实现的,硬件仍然是通过地址访问内存位置

    •    除变量名之外,函数名、数组名、字符串名都是一样的,都为我们提供了方便,在编程的过程中不用直接面对二进制地址

1. 指针变量

我一开始还纠结要不要写这一部分,我想还是不要眼高手低吧,从最基础的开始写起吧。

相信大家都知道了,C语言中可以使用一个变量来存放地址,这种变量称为指针变量,这里的地址可以是变量、数组、字符串、函数的地址,也可以是另一个指针变量的地址。

1.1 定义指针变量

 

int a = 100;

int b = 200;

char c = 'A';

int *p1 = &a;        //定义指针变

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值