int *p = *******a是什么鬼?

这是在朋友圈里面看到有人调侃的一个C语言题目,这里拿出来分享给大家看看。

1

我们知道

int a = 120;
int* p = &a;

8060aec0896bffedf94f765f84def1ce.png

这样我们可以给指针p赋值。指针很多初学者学习的时候会觉得一脸懵逼,我们只要明白几个关键的东西,会让我们对指针理解更深入一些。

我们写代码,声明的各种类型的变量,其实是为了我们给内存定义不同的类型,int a;可以声明一个整型变量,就是找了一块内存给他起个别名为a,然后这个内存地址的类型就是 int,说白了,你只能存储int类型。

int* p;也是如此,找了一块内存,起个别名是p,然后这个地址只能存储int*的类型,int* 如果看得比较不顺眼,可以看成是 &int 。

但是这样的代码,你可能是没有见过的

#include <stdio.h>
int main()
{int a = 120;int* p = &*&*&*&*&*&*&*&*&*&*&*&*&a;printf("&a:%p p:%p &p:%p *p:%d\n",&a ,p ,&p ,*p);return 0;
}

这代码是可以正常输出的,输出如下:

5271d7668308404bff37d266693693fe.png

然后我们再仔细看看,虽然写了很多 &* ,但是无非也不就是把 a 的地址赋值给了 p,仅此而已。

上面的代码和下面,其实是一样的

#include <stdio.h>
int main()
{int a = 120;int* p = &a;printf("&a:%p p:%p &p:%p *p:%d\n",&a ,p ,&p ,*p);return 0;
}

最后,如果觉得不错,大家顺手点个赞,转发就是对我最大的鼓励和支持!

dc0e50a2ab13b044816e0144f0f48d63.png

长按识别二维码关注公众号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465037.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[GO]匿名字段

package mainimport ("fmt" )type Person struct {name stringsex byteage int }type Student struct {Person //只有名字&#xff0c;没有字段&#xff0c;这里student相当于继承了person的所有字段&#xff0c;就有点像是继承了id intaddr string }func main() …

你见过的MCU最高GPIO翻转频率是多少?

大家好&#xff0c;我是痞子衡&#xff0c;是正经搞技术的痞子。今天痞子衡给大家介绍的是i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率。上一篇文章 《聊聊i.MXRT1xxx上的普通GPIO与高速GPIO差异及其用法》&#xff0c;痞子衡从原理上介绍了 i.MXRT1xxx 系列里普通 GPIO 和 …

django中的admin组件之自定义组件的增删改查的完善

昨天我们将自定义列放在类我们自定义的Bookconfig配置类内&#xff0c;但是这样就写死了&#xff0c;因为当我们访问publish表的时候应该也有这样的自定义列&#xff0c;所以我们应该将我们的自定义列放在默认的配置表里面。应该怎么做&#xff1f; 当我们的自定义列挪到默认配…

“制造商和技术支持商”

1.用优化工具。 2.system32中的OEMINFO.ini和OEMLOGO.bmp文件 转载于:https://blog.51cto.com/honglingjin2011/537680

青春是一列不再回头的火车…

高中那年&#xff0c;我表姐对我说&#xff1a;“不要老想着出去打工赚钱&#xff0c;好好读书&#xff0c;将来肯定有用&#xff0c;也不要想着现在日子长得很&#xff0c;等你像我这样结婚生子后&#xff0c;一天一眨眼就过完了。”当时听了没有多大感觉&#xff0c;如今深以…

Android Service学习之AIDL, Parcelable和远程服务

AIDL的作用由于每个应用程序都运行在自己的进程空间&#xff0c;并且可以从应用程序UI运行另一个服务进程&#xff0c;而且经常会在不同的进程间传递对象。在Android平台&#xff0c;一个进程通常不能访问另一个进程的内存空间&#xff0c;所以要想对话&#xff0c;需要将对象分…

我和周立功的聊天

算起来&#xff0c;我和周工认识也有7年了&#xff0c;7年前我在中兴&#xff0c;偶然一次加了周工的微信&#xff0c;有一次年末&#xff0c;周立功在推广他们的示波器&#xff0c;广哥拉我进周立功的示波器技术支持群微信群&#xff0c;说是周工要给大家发红包。那时候&#…

Python 37 进程池与线程池 、 协程

一&#xff1a;进程池与线程池 提交任务的两种方式&#xff1a; 1、同步调用&#xff1a;提交完一个任务之后&#xff0c;就在原地等待&#xff0c;等任务完完整整地运行完毕拿到结果后&#xff0c;再执行下一行代码&#xff0c;会导致任务是串行执行 2、异步调用&#xff1a;提…

CISCO PIX防火墙的配置

硬件防火墙&#xff0c;是网络间的墙&#xff0c;防止非法侵入&#xff0c;过滤信息等&#xff0c;Cisco PIX防火墙操作系统跟Cisco IOS相似,都是用命令行的方式来进行操作。用配置线从电脑的COM2连到防火墙的console口&#xff0c;进入PIX操作系统采用windows系统里的“超 级终…

在腾讯做嵌入式是怎么样的

昨天发朋友圈&#xff0c;是我帮忙同学拍的几张照片&#xff0c;自己觉得拍的不错&#xff0c;点赞的人还挺多的&#xff0c;就想着聊聊在腾讯做嵌入式软件开发的情况。我面试的BSP驱动开发工程师&#xff0c;入职后也从事这方面的事情&#xff0c;但是并不仅仅是BSP驱动。现在…

Mongoexport导出数据,Mongoimport导入数据,mongodump备份数据,mongorestore恢复恢复

一&#xff1a;Mongoexport导出数据  1,导出json数据    mongoexport -d db -c collection -o save-file.dat 2,导出CSV数据 mongoexport -d db -c collection --typecsv -f field1,field2 -o save-file.dat 说明&#xff1a;db目标数据库&#xff0c;collection目标集合…

NFS无法启动根文件系统的解决

为了调试驱动&#xff0c;整了一天的NFS启动根文件系统出了各种问题&#xff0c;后来还是一一解决&#xff0c;不过还不太完美&#xff0c;因为不能使用交换机&#xff0c;我只能用PC和目标板直连&#xff0c;导致我上网很麻烦 无法挂载问题一&#xff1a; IP-Config: Cannot a…

聊聊身边的嵌入式,为什么老司机都爱后视镜

为什么老司机都爱后视镜有句话形容我们老司机的成长过程&#xff0c;叫&#xff1a;一年虎&#xff0c;二年狼&#xff0c;三年变成小绵羊。如果你不懂这句话的意思&#xff0c;证明你还不是一个合格的老司机。如果没和别人发生过亲(Gua)密(Ceng)接(Shi)触(Gu)&#xff0c;算得…

HDU 2187 悼念512汶川大地震遇难同胞——老人是真饿了

http://acm.hdu.edu.cn/showproblem.php?pid2187 Problem Description时间&#xff1a;2008年5月16日&#xff08;震后第4天&#xff09;地点&#xff1a;汶川县牛脑寨人物&#xff1a;羌族老奶奶【转载整理】牛脑寨是一个全村600多人的羌族寨子&#xff0c;震后几天&#xff…

C语言中sizeof详解——面试C/C++

C面试sizeof详解 1、定义 sizeof是C语言的一种单目操作符&#xff0c;它并不是函数。sizeof操作符以字节形式给出了其操作数所占存储空间的大小。操作数可以是一个表达式或括在括号内的类型名。操作数所占存储空间的大小由操作数的类型决定。作用就是返回一个对象或者类型所占…

第六次周赛

失望…… B题其实很简单&#xff0c;完全有能力出&#xff0c;我和luyi陷在我一个错误的树DP模型中…… 其实就是几个简单的组合数&#xff0c;谁可以都会的问题。 PROBLEM B 1 #include <iostream>2 #include <algorithm>3 #include <cstring>4 #include &l…

博主日常工作中使用的shell脚本分享

前言&#xff1a;今天给大家分享一篇在我工作中常用的一个shell脚本&#xff0c;里面有一些我们常用到的shell操作。该脚本用于本地电脑和服务器交互上&#xff0c;实现以下功能&#xff1a;自动拉取自己个人电脑上的源码到服务器上yocto包的源码文件夹。自动运行compile 、str…

JSON数据提取

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式&#xff0c;它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。JSON在数据交换中起到了一个载体的作用&#xff0c;承载着相互传递的数据。JSON适用于进行数据交互的场景&#xff0c;比如网站前…

C语言面试大集合

1、static有什么用途&#xff08;至少说明两种&#xff09;&#xff1f; &#xff08;1&#xff09;限制变量的作用域 &#xff08;2&#xff09;设置变量的存储域 2、引用与指针有什么区别&#xff1f; &#xff08;1&#xff09;引用必须被初始化&#xff0c;指针不必。 &am…

ARP 地址解析协议

目的 作用是IP地址和MAC地址关联。只要有TCP/IP协议的机器中会有一张ARP表&#xff0c;在windows系统中 运行-----cmd------arp –a&#xff0c;就可以看到当前所连接的设备的ip地址和对应的MAC地址。 所谓地址解析&#xff08;address resolution&#xff09;就是主机在发送前…