#include<stdio.h>
struct classifier
{
char src_address[15];
char dst_address[15];
int src_port;
int dst_port;
};
void display(struct classifier *ptr)
{
printf("\n%s", ptr->src_address );
printf("\n%s", ptr->dst_address );
printf("\n%d", ptr->src_port);
printf("\n%d", ptr->dst_port );
}
main()
{
int i;
struct classifier *ptr[4];
for(i=0;i<2;i++)
{
scanf("%s",ptr[i]->src_address);
scanf("%s",ptr[i]->dst_address);
scanf("%d",&ptr[i]->src_port);
scanf("%d",&ptr[i]->dst_port);
display(ptr[i]);
}
return 0;
}
我想在函数中显示输出。当我第一次输入数据时,我得到了正确的显示。当我第二次输入数据时,它显示段错误。代码有什么问题?据我所知,我已经正确地声明了指针。请帮忙。
最佳答案
你需要一个像这样的结构数组
struct classifier ptr[4];
关于c - 将结构值传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4713003/