Header 中定义的 TypeDef 结构
TypeDef Structure Defined in Header
Homework.h
#ifdef HOMEWORK_H_
#define HOMEWORK_H_
typedef struct
{
int IDNumber;
char FirstName[30];
char LastName[30];
}Student;
int AddStudent();
#endif
GradeFunctions.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "Homework.h"
#define MAX 100
int AddStudent()
{
int i;
int StuNumber = 0;
Student store[MAX];
for(i = 0; i < 0; i++)
{
if(Strlen(store[i].FirstName) > 0)
{
if(Strlen(store[i].LastName) > 0)
{
if(Strlen(store[i].IDNumber) > 0)
{
int StuNumber = i;
break;
}
}
}
}
printf("Please enter the students first name: ");
scanf("%s", store[StuNumber].FirstName);
printf("\n");
printf("Please enter the students last name: ");
scanf("%s", store[StuNumber].LastName);
printf("\n");
printf("Please enter the students ID Number: ");
scanf("%d", &store[StuNumber].IDNumber);
printf("\n");
return 0;
}
我每次尝试编译时都会收到这个错误
GradeFunctions.c: In function ‘AddStudent’:
GradeFunctions.c:13:2: error: unknown type name ‘Student’
GradeFunctions.c:17:21: error: request for member ‘FirstName’ in something not a structure or union
GradeFunctions.c:19:22: error: request for member ‘LastName’ in something not a structure or union
GradeFunctions.c:21:23: error: request for member ‘IDNumber’ in something not a structure or union
GradeFunctions.c:30:30: error: request for member ‘FirstName’ in something not a structure or union
GradeFunctions.c:33:30: error: request for member ‘LastName’ in something not a structure or union
GradeFunctions.c:36:31: error: request for member ‘IDNumber’ in something not a structure or union
我花了最后几个小时试图在我的教科书和网上找到发生这种情况的原因,但无济于事。我做错了什么?
#ifdef HOMEWORK_H_
应该是
#ifndef HOMEWORK_H_
^^^ Missing n
因为该文件的内容不包含在代码库中。
Homework.h
#ifdef HOMEWORK_H_
#define HOMEWORK_H_
typedef struct
{
int IDNumber;
char FirstName[30];
char LastName[30];
}Student;
int AddStudent();
#endif
GradeFunctions.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "Homework.h"
#define MAX 100
int AddStudent()
{
int i;
int StuNumber = 0;
Student store[MAX];
for(i = 0; i < 0; i++)
{
if(Strlen(store[i].FirstName) > 0)
{
if(Strlen(store[i].LastName) > 0)
{
if(Strlen(store[i].IDNumber) > 0)
{
int StuNumber = i;
break;
}
}
}
}
printf("Please enter the students first name: ");
scanf("%s", store[StuNumber].FirstName);
printf("\n");
printf("Please enter the students last name: ");
scanf("%s", store[StuNumber].LastName);
printf("\n");
printf("Please enter the students ID Number: ");
scanf("%d", &store[StuNumber].IDNumber);
printf("\n");
return 0;
}
我每次尝试编译时都会收到这个错误
GradeFunctions.c: In function ‘AddStudent’:
GradeFunctions.c:13:2: error: unknown type name ‘Student’
GradeFunctions.c:17:21: error: request for member ‘FirstName’ in something not a structure or union
GradeFunctions.c:19:22: error: request for member ‘LastName’ in something not a structure or union
GradeFunctions.c:21:23: error: request for member ‘IDNumber’ in something not a structure or union
GradeFunctions.c:30:30: error: request for member ‘FirstName’ in something not a structure or union
GradeFunctions.c:33:30: error: request for member ‘LastName’ in something not a structure or union
GradeFunctions.c:36:31: error: request for member ‘IDNumber’ in something not a structure or union
我花了最后几个小时试图在我的教科书和网上找到发生这种情况的原因,但无济于事。我做错了什么?
#ifdef HOMEWORK_H_
应该是
#ifndef HOMEWORK_H_
^^^ Missing n
因为该文件的内容不包含在代码库中。