• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

wb-code

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

指针传递和值传递的建议

图片
例子:对于嵌入式字体,结构体通常包含:

typedef struct {
    uint8_t height;      // 字体高度
    uint8_t width;       // 可能没有,或固定比例
    const uint8_t *model; // 字体数据指针(最重要!)
    // 可能还有其他属性:起始字符、结束字符等
} font_t;

关键点在于 model 指针指向的字体数据数组通常很大(几KB到几十KB),但传递的只是指针本身(4/8字节),而不是整个字体数据。

最佳实践建议:
强烈建议保持使用指针传递,原因如下:
1、性能最优:无论字体多大,只传递一个指针
2、节省栈空间:嵌入式系统栈空间有限
3、一致性:与标准库函数(如printf)做法一致

posted on 2025-12-16 14:33  心事不在脸上  阅读(4)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3