示例代码:
#include
struct data
{
char data_1;
int data_2;
};
int main(int argc, char *argv[])
{
int i, j, n = 0;
struct data d3[] = {
{'a', 1},
{'b', 2},
{'a', 3}
};
struct data one_class[3] = {0};
for(i = 0, j = 0; i < 3; i++)
if (d3[i].data_1 == 'a')
one_class[j++] = d3[i];
n = j;
for(j = 0; j < n; j++)
printf("%p ", &one_class[j]);
printf("\n");
return 0;
}
假设要在一个结构体数组d3中寻找满足data结构体中成员data_1等于字符a的所有结构体并将其存入one_class数组中,并且最后打印出符合要求结构体的地址,不知道你的问题是不是类似这样的情况?