结构体的使用和结构体指针的定义注意事项

这篇具有很好参考价值的文章主要介绍了结构体的使用和结构体指针的定义注意事项。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、使用背景

     由于想把不同地方的三个变量数据存放在一个结构体中,并且调用W25QXX_Write((u8*)p,FLASH_SIZE-100,SIZE); //从倒数第100个地址处开始,写入SIZE长度的数据。调用flash写数据函数,其参数为指针地址,于是需要定义一个结构体和指向结构体的指针,这样调用flash写函数,能把结构体内容数据写入到flash中。

2、在main.h中声明全局结构体变量和结构体指针p,如图

结构体的使用和结构体指针的定义注意事项,keil,C语言,STM32,结构体,结构体指针

然后需要在main.c的变量定义区定义:

结构体的使用和结构体指针的定义注意事项,keil,C语言,STM32,结构体,结构体指针

这里注意,要在main函数之前定义。然后在main函数中使用结构体p赋值:

结构体的使用和结构体指针的定义注意事项,keil,C语言,STM32,结构体,结构体指针

如果将p=&CeLiang_data;放在main函数之前,则会一直提示报错:

结构体的使用和结构体指针的定义注意事项,keil,C语言,STM32,结构体,结构体指针

结构体的使用和结构体指针的定义注意事项,keil,C语言,STM32,结构体,结构体指针

所以,总结起来,普通变量的定义要在main函数之前,写在main函数中提示报错,指针类型的定义要在main函数之前,但是初始化不能放在main函数之前,要放在main函数中。文章来源地址https://www.toymoban.com/news/detail-809467.html

到了这里,关于结构体的使用和结构体指针的定义注意事项的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • UDP的报文结构和注意事项

    UDP的报文结构如图: 画成一行会比较好理解: 主要由两部分组成:UDP报头和UDP载荷。 UDP载荷其实就是数据。 UDP报头分为四个部分,每个部分占两个字节。 源端口 目的端口 报文长度 校验和 下面介绍报头里各个部分的作用。 源端口和目的端口各占2字节 (Byte) ,端口号范围:

    2024年02月01日
    浏览(24)
  • UDP 的报文结构及注意事项

    无连接:知道对端的IP和端口号就直接进行传输,不需要建立连接。 不可靠:即使因为网络故障等原因无法将数据报发送给接收端,UDP协议层也不会给应用层返回任何错误信息。 全双工:即可以接收数据报,也可以发送数据报 面向数据报:应用层交给UDP多长的报文,UDP原样

    2024年02月06日
    浏览(26)
  • 【正点原子STM32】认识HAL库(CMSIS、STM32Cube固件包、HAL库框架结构、使用HAL库、注意事项)

    一、初识HAL库 1.1、CMSIS简介 1.2、HAL库简介 二、STM32Cube固件包浅析 2.1、如何获取STM32Cube固件包? 2.2、STM32Cube固件包文件夹简介 2.3、CMSIS文件夹关键文件 三、HAL库框架结构 3.1、HAL库文件夹结构 3.2、HAL库文件介绍 3.3、HAL库API函数和变量命名规则 四、如何使用HAL库 4.1、基于CM

    2024年02月21日
    浏览(29)
  • Vue2:用ref方式绑定自定义事件的注意事项

    我们知道绑定自定义事件可以用 ref 方式实现。 但是,这个方式,需要注意下,否则,实现不了我们的效果。 需求是这样的,我们通过 ref 绑定的事件,来给 App 的 data 块中的变量赋值。 基本写法: 父组件 App 中 methods 函数: 给 Student 组件绑定自定义事件 test 此处的 this 是谁

    2024年01月19日
    浏览(46)
  • 【C++漂流记】结构体的定义和使用、结构体数组、结构体指针、结构体做函数参数以及结构体中const的使用

    结构体(struct)是C语言中一种重要的数据类型,它由一组不同类型的成员组成。结构体可以用来表示一个复杂的数据结构,比如一个学生的信息、一个员工记录或者一个矩形的尺寸等。 结构体定义后,可以声明结构体变量,每个结构体变量包含结构体类型的所有成员。结构

    2024年02月09日
    浏览(30)
  • 【08】STM32·HAL库开发-HAL库介绍 | STM32Cube固件库介绍 | HAL库框架结构 | 如何使用HAL库及使用注意事项

      CMSIS (微控制器 软件接口标准 ):Cortex Microcontroller Software Interface Standard,是由ARM和与其合作的芯片厂商( 比如ST、NXP公司等 )、软件工具厂商( Keil、IAR公司等 ),共同制定的标准。 如果没有此标准,ARM公司的产品兼容性非常差。   下图中分为三层,第一层是用户层

    2024年02月11日
    浏览(38)
  • 学习Linux的注意事项(使用经验;目录作用;服务器注意事项)

    本篇分享学习Linux过程中的一些经验 Linux严格区分大小写 Linux中所有内容以文件形式保存 ,包括硬件,Linux是以管理文件的方式操作硬件 硬盘文件是 /dev/sd[a-p] 光盘文件是 /dev/sr0 等 对于设置需要写入文件,命令行的设置在重启之后就会失效,只有下入文件才可以保存下来 文

    2024年02月11日
    浏览(55)
  • 微信小程序 - 页面插入添加 Banner 广告超详细教程(支持自定义样式、位置、大小等)及注意事项

    如果您需要点击弹出的广告,请访问: 微信小程序 - 页面插入广告(激励式广告)。 本文将从 0-1 完成整个过程,您只需要按照步骤操作即可, 代码干净整洁注释详细,快速将代码移植到您的微信小程序项目中, 如下图所示,底部 Banner 式卡片广告, 您可以将其嵌入到任何

    2024年02月08日
    浏览(72)
  • Golang 包使用注意事项

    1)在给一个文件打包时,该包对应一个文件夹,比如这里的utils文件夹对应的包名就是utils, 文件的包名通常和文件所在的文件夹名一致,一般为小写字母。 2)当一个文件要使用其它包函数或变量时,需要先引入对应的包 引入方式1:import \\\"包名\\\" 引入方式2: 3)package指令在

    2024年02月03日
    浏览(42)
  • grpc流式使用和注意事项

    流式grpc Server-side streaming RPC:服务器端流式 RPC Client-side streaming RPC:客户端流式 RPC Bidirectional streaming RPC:双向流式 RPC 客户端代码 服务端代码 验证 分析 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eRmLdnpt-1622633151060)(readme.assets/image-202105271114

    2023年04月10日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包