• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

结构体内的整型变量需要赋初值?

huihui163 2021-03-08 浏览量:676

结构体内的整型变量需要赋初值?

比如typedef struct {
uint8_t Buf[256];
uint8_t in;
uint8_t out;
} fifo_t;

fifo_t a;那么全局变量a中成员默认都是0吗     

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 一般情况下,默认都是0的。但是在程序中,这样定义以后程序中赋值才是规范的做法。必须给定义的变量一个准确的、确定的初值。
    • 发布于 2021-03-09
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • a是随机值,如果要赋值可以通过对象直接赋值,也可以通过指针赋值
    • 发布于2021-03-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 按你这样的处理,变量a的值是随机的,因为这样仅仅是给变量a分配了空间,其值由空间中对应位置的当前情况定(是随机的)。
    • 发布于2021-03-09
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果是STM32,我自己的结构体,当然,不是你这样的,我试的是默认就是0
    • 发布于2021-03-09
    • 举报
    • 评论 0
    • 0
    • 0

  • 和编译器有关,一般编译器默认是0,也有编译器不去初始化,其值上电后是随机值。
    • 发布于2021-03-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 得看芯片类型,编译器类型与版本,一般的都是默认是0的
    • 发布于2021-03-14
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

结构体内的整型变量需要赋初值?