指针变量与VS2022调试与内存窗口的打开

指针变量与地址

1.1:取地址操作符以及使用方法

C语言中创建变量本质是向内存申请空间,如:整型变量a的创建就是像内存中申请4个字节,字符型c的创建是向内存中申请1个字节。而每个字节都有一个编码,如下图以使用VS2022中X86环境为例要想知道创建的变量申请的地址要用到取地址操作符“&”,而前四个编码是变量b的地址即取地址b取出的是b所占字节中地址较小的4个字节的地址。

ps:VS2022中查看地址的方法,创建好源文件后按CTRL+F10然后按ALT+6或者点开上方调试再点窗口里面有内存。

1.2指针变量

我们通过&拿到的地址为数值如1图中的,这些值存放在指针变量中。

理解指针类型 如:int * pb=&b,*表示pb为指针变量,int说明pb指向整型类型对象,此时pb中就存了a的地址,可以用来表示a。

解引用操作符“*”。1.当地址存进pb之后如果我们想要改变a的值出来直接重新令b=0,还可以用指针,比如*pb=5此时b的值就变成了5。这是因为我们将b的地址存入了pa中,我们将pa解引用之后就可以认为它等价于b。指针的计算2.指针的类型决定一次操作几个字节,char*一次只访问一个字节而int一次访问4个字节。如pb+1(int类型)则地址会加4,而pb+1(char类型)地址上只会加1.

void*类型的指针可以接受不同类型的地址,但是无法对其进行运算,其可以有效避免类型不兼容问题的出现同时在实现泛型编程上有一定作用。

ps:仅表示个人看法,如果有错误欢迎各位大佬评论区或者私信指出,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值