当前位置: 首页 > wzjs >正文

阜康网站建设seo优化工作有哪些

阜康网站建设,seo优化工作有哪些,承德网,教育培训营销型网站建设哪家好记录俩个keil5 STM32 的c语言编程中 ,编译器优化行为 和 指针内存分配问题。 目录 关闭Keil 编译器优化行为: malloc指针内存分配问题 多层嵌套的结构体: 用指针取值: 发现问题: 解决问题: 示例代码 关闭Ke…

 记录俩个keil5 STM32 的c语言编程中 ,编译器优化行为 和 指针内存分配问题。

目录

关闭Keil 编译器优化行为:

malloc指针内存分配问题

 多层嵌套的结构体:

用指针取值:

发现问题:

解决问题:

示例代码


关闭Keil 编译器优化行为:

在这里关闭,之前因为有编译器优化,导致作为参数传入处理的数组被清理了:

malloc指针内存分配问题

 多层嵌套的结构体:

我这有一个多层嵌套的结构体:这里不展示完全结构,

它的定义结构类似于这篇文章提到的结构体嵌套的结构:

C语言数据结构笔记3:Union联合体+结构体取8位Bool量-CSDN博客

用指针取值:

 指针获取结构体嵌套的某层结构体地址的值

但它没有被malloc分配空间

发现问题:

下载到STM32平台,结果发现每次上电后,第一次取值打印没问题,

后续都有问题,指针跑偏了:

而且是在第一次获取发送完正确的值之后,它瞬间把结构体存的值给修改了,导致后面都是读取的同一错误的值

但同样逻辑读取的最简函数的工程都没问题

解决问题:

添加malloc分配空间与free指针就行了:

最后补充一句:实测不指向NULL,重复获取寄存器值会卡死

 

示例代码

以下是一个简单的示例,演示如何使用 malloc 分配内存,然后使用 free 释放内存:

#include <stdio.h>
#include <stdlib.h>int main() {int n = 5; // 示例:分配一个包含 5 个整数的数组int *arr;// 分配内存arr = (int *)malloc(n * sizeof(int));// 检查内存分配是否成功if (arr == NULL) {printf("内存分配失败\n");return 1;}// 使用分配的内存for (int i = 0; i < n; i++) {arr[i] = i * 10; // 示例赋值}// 打印数组内容for (int i = 0; i < n; i++) {printf("arr[%d] = %d\n", i, arr[i]);}// 释放内存free(arr);// 将指针设置为 NULL,防止悬空指针arr = NULL;return 0;
}

http://www.dtcms.com/wzjs/188367.html

相关文章:

  • 数据库网站建设多少钱电商大数据查询平台
  • 南宁微网站制作360应用商店
  • 教育网站赏析怎么申请一个网站
  • 免备案网站制作优质友情链接
  • 信阳专业网站建设网站自然排名工具
  • 武汉城市建设档案馆网站石家庄seo排名公司
  • .net开发网站的优点seo教程技术资源
  • 长春火车站附近美食宁波seo超级外链工具
  • 织梦网站地图在线生成如何联系百度平台客服
  • 莱州木籽网络科技有限公司sem和seo是什么职业岗位
  • 什么网站合适做流量怎么进行网络推广
  • 网站后台建设编辑器一站式自媒体服务平台
  • 建设银行理财网站seo做得比较好的企业案例
  • 丹阳如何做百度的网站谷歌查询关键词的工具叫什么
  • 智慧团建手机登录入口电脑版pc端网络推广优化seo
  • 网站建设公司首页网站搜索优化
  • 客户评价网站建设联赛积分榜排名
  • 沧州专业网站建设公司大片网站推广
  • 自己搭建网站做网上商城江苏seo技术教程
  • 网站建设绵阳重庆网站页面优化
  • 用帝国做网站好做吗铜陵seo
  • 自己怎么注册网站模板今日头条网页版入口
  • 2016做砸了的小网站国外独立网站如何建站
  • 抓好门户网站建设天门网站建设
  • wordpress 爱无杭州哪家seo公司好
  • 茶叶手机网站建设最新注册域名查询
  • 黄冈论坛遗爱湖北京谷歌seo
  • 南宁本地有几家网站开发中国十大网络营销平台
  • 张家港企业网站设计企业管理咨询
  • 广州web网站开发培训班洛阳seo网络推广