简单理解C语言指针

该代码示例解释了C语言中的指针概念。定义了整型变量a和指针变量p,然后将a的地址赋值给p。通过打印,展示了*p表示的是a变量的值,而p和&a存储的是相同的地址,即a的地址。最后,&p给出了指针p自身的地址。
摘要由CSDN通过智能技术生成

 在开始理解C指针之前,先做个试验:

#include <stdio.h>

int main()
{
   int a;
   int *p;
   a = 5;
   p = &a;
   printf("[0] = %u\n",a);
   printf("[1] = %u\n",*p);
   printf("[2] = %u\n",&a);
   printf("[3] = %u\n",p);
   printf("[4] = %u\n",&p);
   return 0;
}

运行结果:

[0] = 5
[1] = 5
[2] = 1294509660
[3] = 1294509660
[4] = 1294509648

C 在线工具 | 菜鸟工具 (runoob.com)

开始理解这段代码:

【1】int a定义了一个变量a

【2】int *p定义了一个指针型变量p

注意:虽然*和int之间存在一个空格,并且紧贴变量p,但需要注意int *才是一个整体,表示定义一个指针型整型变量p。

【3】p = &a 将变量a的地址存入指针变量p中。

注意:p已经被定义为int *类型,所以只能用来存储地址类型的数据。比如变量a的地址就是一个地址类型的数据。

【4】通过执行结果可知:

*p就是把地址对应内存空间所存储的数据,因为p存储的变量a的地址,那么*p对应的就是a变量的值5

p变量存的是a的地址,所以p和&a相同。

&p是指针变量p的地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值