我有一个名为members的结构,其中包含一堆字符数组和整数。该结构已在 Header.h 中声明,并由 main 内的 source.c 中的“结构成员 pt”定义。从这里开始,for 循环运行 5 次,并将变量添加到 pt[x]
中的字符数组和整数中。 。
现在我需要能够从名为 void search(int a);
的函数访问它(可能不应该是一个 void,因为我希望它返回一个值。但我稍后会修复这个问题)
void search 应该做的基本上是
int willReturn[10];
int b = 0;
for(int x = 0; x<a; x++)
{
if(pt[x].hasPayed == 0)
{
willReturn[b] = x;
b++;
}
}
该代码可能有问题,但我需要知道的是如何访问 pt[x].hasPayed
。
有任何想法吗?
我不想使用任何全局变量。
预先感谢您。
最佳答案
下面的示例代码可能会对您有所帮助。
header.h
struct members {
int hasPayed;
};
main.c
#include <stdio.h>
#include <string.h>
#include "main.h"
typedef struct members MEMBERS;
void print_member(MEMBERS *pt) {
int i;
for(i =0 ; i< 10; i++)
{
printf(" %d\n",pt[i].hasPayed);
}
}
void main () {
MEMBERS pt[10];
int i;
for(i =0 ; i< 10; i++)
{
pt[i].hasPayed= i;
}
print_member(pt);
}
代替 print_member 编写您的搜索逻辑。
关于c - 在结构不是全局的情况下访问结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22558551/