关于结构体数组取地址

news/2025/1/9 15:58:35/文章来源:https://www.cnblogs.com/lq-gd/p/18662320

关于结构体数组:当我们定义一个结构体数组,然后数组长度是,然后我们定义一个函数,函数的参数是结构体指针

当调用该函数时,如果直接使用取结构体数组变量地址会提示参数类型错误

原因:通常我们在用数组的时候都喜欢用数组名作为数组首地址使用,然后这里结构体数据我也是默认这么想的,但是我用了取地址符,因为用的时候下意识感觉这样有点问题干哈有取地址比较保险,结果在编译的时候还是报错了。

理解:当使用取地址符的时候,获得的是一个指向数组的指针也就是如下:

&tmp  就等于test (*)[1],也就是说我们获取的实际是数组的地址,但是参数里面是一个具体的单个结构体指针

所以需要&tmp[0],获取结构体数组中的单个元素地址,就可以了

typedef struct

{

  uint8_t flag;

  uint8_t uid;

}test;

static test tmp[1];

static void fun(const test* para)

{

  printf("hello\r\n");

}

int main(void)

{

  fun(&tmp[0]);//正确

  //fun(&tmp);//错误

  return 0;

}

 

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

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

相关文章

产品经理必看——产品开发中如何解决任务划分不清?

在产品开发过程中,尤其是敏捷开发模式下,团队通常需要面对多个迭代和版本的开发任务。每个迭代都涉及需求分析、任务分配、开发、测试和发布等多个环节,这对团队的沟通效率和协作能力提出了极高的要求。然而,传统的沟通方式(如邮件、会议)往往难以应对快速迭代的需求,容…

CDS标准视图:催款范围描述 I_DunningAreaText

视图名称:催款范围描述 I_DunningAreaText 视图类型: 视图代码:点击查看代码 @EndUserText.label: Dunning Area - Text @Analytics.dataExtraction.enabled: true @VDM.viewType: #BASIC @AbapCatalog.sqlViewName: IFIDUNAREATEXT @AbapCatalog.preserveKey:true @AbapCat…

深度剖析淘宝 API:《从接入到实战的全流程技术指南》

淘宝详情接口是淘宝开放平台提供的一种API接口,用于获取商品详细信息。 通过调用该接口,可以获取商品的标题、价格、图片、描述、规格等详细信息,帮助卖家和买家更好地了解商品情况。目录淘宝详情接口概述商品信息获取与展示用户体验优化与转化率提升数据监控、分析与优化调…

CDS标准视图:催款范围 I_DunningArea

视图名称:催款范围 I_DunningArea 视图类型:基础 视图代码:点击查看代码 @AccessControl.authorizationCheck: #CHECK //authority check is wrong, for compatibility reasons DCL remains but is always true @EndUserText.label: Dunning Area @Analytics: { dataCatego…

使用一条命令扫描CORS漏洞

命令 使用前请安装如下程序,kali中请指定httpx位置(例如:/root/Desktop/httpx)。 assetfinder httpx rush assetfinder fitbit.com | httpx -threads 300 -follow-redirects -silent | rush -j200 curl -m5 -s -I -H "Origin: evil.com" {} | [[ $(grep -c "…

如何提升学校行政管理中的沟通效率?3个协作工具推荐

在教育行业中,项目管理通常涉及教学计划的制定、课程安排、学生考核、教师培训等复杂任务。这些任务不仅需要教师和教务人员的紧密协作,还需要行政管理人员的支持与监督。然而,传统的管理方式往往依赖于纸质文件、电子邮件或简单的电子表格,这种方式效率低下且容易出错。通…

Agentforce 2.0究竟有什么魔力,Salesforce要做数字领军者?

2024年12月17日,全球科技巨头Salesforce正式推出其全新平台——Agentforce 2.0。首席执行官马克贝尼奥夫在发布会上宣布,Salesforce计划招聘2000名销售人员,以加速推广这一重大人工智能平台,并预计于2025年2月正式向全球企业提供服务。Agentforce自今年9月首次亮相以来,便…

生产管理新境界:JIT模式引领高效制造革命

JIT模式是一种高效、灵活的生产管理方式,它要求企业在精确预测市场需求的基础上,通过优化生产流程、减少浪费、持续改进等手段降低成本、提高效率并增强竞争力。然而,JIT模式的实施也面临诸多挑战,需要企业采取相应的应对策略来确保成功实施。JIT(Just-In-Time)模式,即准…

【Cobalt Strike】UDRL简单配置

cs4.9的下载、解压和连接server不写了,网上有的。 以下kit的链接: https://pan.baidu.com/s/1mu6rpmHoGQ-lTPmSll14tg?pwd=test 提取码: test 下载好visual studio2022和C++所需要的相关插件网上也都有,简单的就不写了。 将cs启动好把下载的套件解压出来,找到UDRL-VS,找到…

BFS

BFS(广度优先搜索,Breadth-First Search)是一种用于遍历或搜索树或图的算法。它的核心思想是从起始节点开始,逐层向外扩展,先访问离起始节点最近的节点,再访问更远的节点。BFS通常使用队列(Queue)来实现。BFS的核心思想逐层扩展:从起始节点开始,先访问所有与起始节点…

医疗机构的文档协作危机,该如何迎接挑战?

医疗行业协作的核心痛点:文档共享与实时编辑难题 在医疗保健机构中,团队协作至关重要。无论是日常诊疗信息的记录,还是多学科诊疗团队(MDT)的沟通与决策,都需要快速、高效且安全的文档共享与协作方式。然而,传统的纸质记录或本地文件存储方式,存在如下显著问题:信息滞…

聊一聊 C#异步 任务延续的三种底层玩法

一:背景 1. 讲故事 最近聊了不少和异步相关的话题,有点疲倦了,今天再写最后一篇作为近期这类话题的一个封笔吧,下篇继续写我熟悉的 生产故障 系列,突然亲切感油然而生,哈哈,免费给别人看程序故障,是一种积阴德阳善的事情,欲知前世因,今生受者是。欲知来世果,今生做者…