0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言指针p、*p、&p、*&p、&*p符号分别代表什么意思?

硬件攻城狮 来源:嵌入式悦翔园 2023-05-29 15:05 次阅读

前言

C语言中,指针是非常重要的概念。指针是一个变量,其值为另一个变量的地址。使用指针可以直接访问内存中的数据,这使得C语言非常灵活和强大。在学习C语言时相比大家都已经知道了&和*的区别了,但你知道*&p和&*p又代表什么吗?

写个测试程序

下面是一个简单的C语言代码,可以用来演示上面提到的几个标识符,让我们更好的理解几个标识符的意义:

#include

intmain(){
inta=10;
int*p=&a;
int**pp=&p;

printf("a=%d
",a);//打印a的值
printf("&a=%p
",&a);//打印a的地址
printf("p=%p
",p);//打印p的值,即a的地址
printf("*p=%d
",*p);//打印p所指向的变量的值,即a的值
printf("&p=%p
",&p);//打印p的地址
printf("*pp=%p
",*pp);//打印pp所指向的指针变量p的值,即a的地址
printf("**pp=%d
",**pp);//打印pp所指向的指针变量p所指向的变量的值,即a的值
printf("&pp=%p
",&pp);//打印pp的地址
printf("*&p=%p
",*&p);//打印p的值,即a的地址
printf("&*p=%p
",&*p);//打印p的地址

return0;
}

下面,我们来运行一下这个程序,看看输出结果:

a=10
&a=0x7fff87a4ce94
p=0x7fff87a4ce94
*p=10
&p=0x7fff87a4ce98
*pp=0x7fff87a4ce94
**pp=10
&pp=0x7fff87a4cea0
*&p=0x7fff87a4ce94
&*p=0x7fff87a4ce94

这个程序定义了一个整型变量a,一个指向整型变量的指针p,一个指向指针变量p的指针pp。程序输出了上面提到的几个标识符所代表的值或地址。运行这个程序,可以看到它的输出结果,从而更好地理解这些标识符的含义。

从上面的运行结果可以看出*p打印的是a的值,也就是p指向变量的值,这点是毋庸置疑的,想必大家也都知道,那我们一起来看看其他的变量分别代表什么意思吧!

p:指针变量名。在定义指针变量时,需要指定指针所指向变量的数据类型。例如,int *p; 定义了一个指向int类型变量的指针变量p。

*p:解引用操作符。它用于访问指针所指向的变量的值。例如,*p = 10; 将10赋值给p所指向的变量。

&p:取地址操作符。它用于获取指针变量p的地址。例如,int *p; int **pp = &p;定义了一个指向指针变量p的指针变量pp。

*&p:这个操作符等价于p。它首先将p取地址,然后再将其解引用,得到p本身的值。

&*p:这个操作符等价于p。它首先将p解引用,得到p所指向的变量的值,然后再将其取地址,得到p本身的地址。

小结

a和*p输出的,都是变量a的值。

&a和p输出的,都是a的地址。

&*p和*&p其实都是p,也就是a的地址。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7601

    浏览量

    136247

原文标题:C语言指针p、*p、&p、*&p、&*p符号分别代表什么意思?

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    p, *p, &p

    定义一个指针变量 int *p那么,p表示指针指向的地址(如A);*p表示p指向地址里的内容(即
    发表于 01-16 21:49

    MDU P2008&;P2016系列产品手册

    MDU P2008&;P2016系列产品手册
    发表于 01-04 22:02 0次下载

    DS2401P+T&;R DS2401P+T&;R - (Maxim Integrated) - 专用 IC

    电子发烧友网为你提供()DS2401P+T&;R相关产品参数、数据手册,更有DS2401P+T&;R的引脚图、接线图、封装手册、中文资料、英文资料,DS2401P+T&;R真值表,DS2401
    发表于 11-16 19:42
    DS2401<b class='flag-5'>P+T&</b>;R DS2401<b class='flag-5'>P+T&</b>;R - (Maxim Integrated) - 专用 IC

    DS2413P+T&;R DS2413P+T&;R - (Maxim Integrated) - 专用 IC

    电子发烧友网为你提供()DS2413P+T&;R相关产品参数、数据手册,更有DS2413P+T&;R的引脚图、接线图、封装手册、中文资料、英文资料,DS2413P+T&;R真值表,DS2413
    发表于 11-16 19:43
    DS2413<b class='flag-5'>P+T&</b>;R DS2413<b class='flag-5'>P+T&</b>;R - (Maxim Integrated) - 专用 IC

    DS2411P+T&;R DS2411P+T&;R - (Maxim Integrated) - 专用 IC

    电子发烧友网为你提供()DS2411P+T&;R相关产品参数、数据手册,更有DS2411P+T&;R的引脚图、接线图、封装手册、中文资料、英文资料,DS2411P+T&;R真值表,DS2411
    发表于 11-16 20:19
    DS2411<b class='flag-5'>P+T&</b>;R DS2411<b class='flag-5'>P+T&</b>;R - (Maxim Integrated) - 专用 IC

    DS2417P+T&;R 时钟/定时 - 实时时钟

    电子发烧友网为你提供Maxim(Maxim)DS2417P+T&;R相关产品参数、数据手册,更有DS2417P+T&;R的引脚图、接线图、封装手册、中文资料、英文资料,DS2417P+T&;R真值表,DS241
    发表于 11-18 19:27
    DS2417<b class='flag-5'>P+T&</b>;R 时钟/定时 - 实时时钟

    DS2417P/T&amp;R 时钟/定时 - 实时时钟

    电子发烧友网为你提供Maxim(Maxim)DS2417P/T&amp;R相关产品参数、数据手册,更有DS2417P/T&amp;R的引脚图、接线图、封装手册、中文资料、英文资料,DS
    发表于 11-21 22:47
    DS2417<b class='flag-5'>P</b>/T&<b class='flag-5'>amp</b>;R 时钟/定时 - 实时时钟

    DS2890P-000+T&;R 数据采集 - 数字电位器

    电子发烧友网为你提供Maxim(Maxim)DS2890P-000+T&;R相关产品参数、数据手册,更有DS2890P-000+T&;R的引脚图、接线图、封装手册、中文资料、英文资料,DS2890P-000+T&
    发表于 01-22 20:14
    DS2890<b class='flag-5'>P-000+T&</b>;R 数据采集 - 数字电位器

    DS2406P+T&;R - (Maxim Integrated) - 接口 - 专用

    电子发烧友网为你提供Maxim(Maxim)DS2406P+T&;R相关产品参数、数据手册,更有DS2406P+T&;R的引脚图、接线图、封装手册、中文资料、英文资料,DS2406P+T&;R真值表,DS240
    发表于 07-19 18:39
    DS2406<b class='flag-5'>P+T&</b>;R - (Maxim Integrated) - 接口 - 专用

    DS2502P-E48+T&;R - (Maxim Integrated) - 存储器

    电子发烧友网为你提供Maxim(Maxim)DS2502P-E48+T&;R相关产品参数、数据手册,更有DS2502P-E48+T&;R的引脚图、接线图、封装手册、中文资料、英文资料,DS2502P-E48+T&
    发表于 08-04 19:00
    DS2502<b class='flag-5'>P-E48+T&</b>;R - (Maxim Integrated) - 存储器

    DS2505P+T&;R - (Maxim Integrated) - 存储器

    电子发烧友网为你提供Maxim(Maxim)DS2505P+T&;R相关产品参数、数据手册,更有DS2505P+T&;R的引脚图、接线图、封装手册、中文资料、英文资料,DS2505P+T&;R真值表,DS250
    发表于 08-04 19:00
    DS2505<b class='flag-5'>P+T&</b>;R - (Maxim Integrated) - 存储器

    DS2409P/T&amp;R - (Maxim Integrated) - 接口 - 专用

    电子发烧友网为你提供Maxim(Maxim)DS2409P/T&amp;R相关产品参数、数据手册,更有DS2409P/T&amp;R的引脚图、接线图、封装手册、中文资料、英文资料,DS
    发表于 08-16 18:37
    DS2409<b class='flag-5'>P</b>/T&<b class='flag-5'>amp</b>;R - (Maxim Integrated) - 接口 - 专用

    DS2406P/T&amp;R - (Maxim Integrated) - 接口 - 专用

    电子发烧友网为你提供Maxim(Maxim)DS2406P/T&amp;R相关产品参数、数据手册,更有DS2406P/T&amp;R的引脚图、接线图、封装手册、中文资料、英文资料,DS
    发表于 08-16 18:37
    DS2406<b class='flag-5'>P</b>/T&<b class='flag-5'>amp</b>;R - (Maxim Integrated) - 接口 - 专用

    DS2405P/T&amp;R - (Maxim Integrated) - 接口 - 专用

    电子发烧友网为你提供Maxim(Maxim)DS2405P/T&amp;R相关产品参数、数据手册,更有DS2405P/T&amp;R的引脚图、接线图、封装手册、中文资料、英文资料,DS
    发表于 08-16 18:38
    DS2405<b class='flag-5'>P</b>/T&<b class='flag-5'>amp</b>;R - (Maxim Integrated) - 接口 - 专用

    DS2405P+T&;R - (Maxim Integrated) - 接口 - 专用

    电子发烧友网为你提供Maxim(Maxim)DS2405P+T&;R相关产品参数、数据手册,更有DS2405P+T&;R的引脚图、接线图、封装手册、中文资料、英文资料,DS2405P+T&;R真值表,DS240
    发表于 08-16 18:43
    DS2405<b class='flag-5'>P+T&</b>;R - (Maxim Integrated) - 接口 - 专用