C新手在这里。我一直在寻找论坛,似乎无法获得我需要的帮助。我想做的很简单。我已经在我的标题中声明了一个结构,然后我创建了一个这个结构的数组。
然后我调用一个函数,传入一个指向这个结构数组的指针,但是在函数中我得到了错误:
错误:在不是结构或联合的情况下请求成员“XXXXX”
我相信这个错误是我将结构数组传递给函数的方式,但我似乎无法找出正确的方法。
我的 header.h 如下:
#ifndef HEADER_H_INCLUDED
#define HEADER_H_INCLUDED
typedef struct PhoneNumber
{
char name[40];
unsigned char number[10];
} PhoneNumber;
#endif // HEADER_H_INCLUDED
我还没有真正使用我的显示功能,我的代码如下:
#include <stdio.h>
#include <stdlib.h>
#include "header.h"
int main()
{
struct PhoneNumber PhoneNumbers[10];
//input phone number
inputPhoneNumbers(&PhoneNumbers);
//display PhoneNumber
displayPhoneNumbers(&PhoneNumbers);
return EXIT_SUCCESS;
}
int inputPhoneNumbers(int size, PhoneNumber *details[size])
{
size = 0;
printf("Enter a name\n");
scanf("%s\n", &details[size].name);
printf("Enter %s's number\n", details[size]->name);
scanf("%s\n", &details[size].number);
return EXIT_SUCCESS;
}
int displayPhoneNumbers(PhoneNumber *number)
{
printf("%s\n",number->name);
printf(number->number);
}
有人可以指出我正确的方向吗?
干杯!