gpt4 book ai didi

c - 静态声明遵循非静态声明?

转载 作者:行者123 更新时间:2023-11-30 20:33:54 25 4
gpt4 key购买 nike

我知道它的基础知识,但我不熟悉 C,而且我无法理解该主题中的答案。

C 文件中我有以下功能:

void uart_event_handle(app_uart_evt_t * p_event)
{
}
static void uart_init(void)
{
}

void initialize()
{
uart_init();
}

静态函数uart_init()位于一些示例程序main.c中,我试图将其放入另一个C文件(这个)中

仅当我调用:uart_init();时才会发生错误。否则就不会发生。

最佳答案

声明函数static使其在翻译单元之外不可见。这类似于在类中将字段声明为私有(private),因为 static 对所有其他文件“隐藏”该函数。

这使您可以在其他文件中定义具有相同名称的新函数,而不必担心名称冲突。同时,static 使得无法从定义该函数的 .c 文件外部调用该函数。

您的示例提供了创建静态函数的用例:initialize 成为库“公共(public)”接口(interface)的一部分,而 uart_init 保持隐藏。

关于c - 静态声明遵循非静态声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43808003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com