【问题标题】:Proper way to declare variable with uint8_t [closed]使用 uint8_t 声明变量的正确方法 [关闭]
【发布时间】:2019-04-14 10:32:59
【问题描述】:

我正在使用 C 对 MicroChip 的 MCU 进行编程,但是当我使用以下方法使用 uint8_t 初始化变量时:

(uint8_t) distance = 0;

((uint8_t) distance = 0);

还有这些方法(声明):

(uint8_t) distance;

((uint8_t) distance);

但这是我编译后收到的:

error: use of undeclared identifier 'distance'

顺便说一句,我是 C 编程的新手。

非常感谢任何帮助。

【问题讨论】:

  • 不要尝试通过反复试验来学习 C。这会导致抑郁症。读一本书。
  • 请包含一个完整的程序,尽可能小,以显示问题。
  • 这种类型的错误可能是由于忘记包含包含标识符(函数名、变量、类等)声明的头文件。为什么是括号:((uint8_t) distance = 0); ??
  • 没有“包含缺失”,您只是使用了错误的语法,即没有副作用的强制转换表达式。编写声明时不能将type放在括号中,但可以将identifier放在括号中,即uint8_t ((((((((((((((distance))))))))))))))

标签: c initialization definition uint8t


【解决方案1】:

stdint.h 应该定义uint8_t

所以在定义uint8_t 类型的变量之前,您的 .c 文件需要包含上述 .h 文件。

这可能看起来像这样:

#include <stdint.h> 

int main(void)
{
  uint8_t distance_uninitialised; /* Holds an indeterminated value. */
  uint8_t distance_initialised = 0;
}

【讨论】:

  • 成功了!谢谢。
猜你喜欢
  • 2011-10-22
  • 1970-01-01
  • 1970-01-01
  • 2021-06-28
  • 1970-01-01
  • 1970-01-01
  • 2012-06-17
  • 2014-02-23
  • 2010-09-19
相关资源
最近更新 更多