#include <stdio.h>
#include <string.h>
const int NAMELEN=30;
const int MAXCLASSSIZE=10;
typedef struct StudentRec {
char lastname[NAMELEN];
char firstname[NAMELEN];
long int ID;
int finalmark;
}Student;
我是编码的新手.我有一个关于为什么有学生的问题;在括号之后..是我们必须遵循的格式.
你混淆了两件事.在C中,您可以定义如下结构:
struct foo {
int a,b;
};
然后使用你必须这样做:
struct foo myFoo;
这真的很罗嗦,所以他们有这个使用typedef来制作新类型的好主意.我可以这样做:
typedef int myInt;
然后使用它:
myInt x;
所以你正在做的是声明有一个新类型Student,它相当于一个结构StudentRec.按照惯例,许多人对typedef使用与结构相同的名称 – 它是合法的:
typedef struct foo { int a,b; } foo;