小编Use*_*ynn的帖子

如何将局部结构传递给函数?

以下链接表示中定义的结构main没有函数调用的范围,因为它们是本地的,因此您应该全局定义结构。但是对于变量,最好在本地声明变量并通过指针传递给函数,而不是声明全局变量。

在纯 C 中有没有办法使用指针等将 main 中定义的结构传递给函数?如果您不介意,请使用示例程序来演示该方法。谢谢。

在哪里声明结构,在 main() 内部还是在 main() 外部?

这段代码有效,但不是我想要的。我想在main. 这可能吗?

#include <stdio.h>
#include <SDL2/SDL.h>

void function();

struct hexColour
    {
        Uint32 red;
    }hc;

int main(void)
{
    hc.red = 0xFFFF0000;
    function(hc);
    return 0;
}

void function(struct hexColour hc)
{
    printf("red is %x\n", hc.red);
}
Run Code Online (Sandbox Code Playgroud)

我想要的是:

int main(void)
{
    struct hexColour
    {
        Uint32 red;
    }hc;
    hc.red = 0xFFFF0000;
    function(hc);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c scope sdl pass-by-reference sdl-2

-2
推荐指数
1
解决办法
1687
查看次数

标签 统计

c ×1

pass-by-reference ×1

scope ×1

sdl ×1

sdl-2 ×1