gpt4 book ai didi

c - 如何将指向在另一个结构内声明的结构的指针作为函数参数传递?

转载 作者:行者123 更新时间:2023-12-02 08:27:54 25 4
gpt4 key购买 nike

在我用 C 编写的一个应用程序中,我将一个结构声明为另一个结构的成员:

struct _test
{
int varA;
//...

struct _small
{
int varB;
//...
} small;
} test;

现在我想创建一个访问上面varB的函数,但是我不想让它访问整个结构体test,也就是说,我不想做:

#include <relevant_header>

void myFunction()
{
test.small.varB = 0;
}

相反,我只想将 small 结构作为参数传递给该函数;像这样:

#include <relevant_header>

void myFunction(struct _test::_small* poSmall)
{
poSmall->varB = 0;
}

问题是我不知道该怎么做,也就是说,上面的代码编译不正确(我想它只是 C++ 语法)。那么我如何在 C 代码中执行此操作 - 将指针传递给在另一个结构内声明的结构?我无法在 SO 和 Google 中找到任何关于此的信息。

最佳答案

只是做:

void myFunction(struct _small *poSmall)
{
poSmall->varB = 0;
}

struct _small 的范围不限于其外部结构。

关于c - 如何将指向在另一个结构内声明的结构的指针作为函数参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30309537/

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