#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;@H_403_4@我是编码的新手.我有一个关于为什么有学生的问题;在括号之后..是我们必须遵循的格式.
解决方法
你混淆了两件事.在C中,您可以定义如下结构:
struct foo { int a,b; };@H_403_4@然后使用你必须这样做:
struct foo myFoo;@H_403_4@这真的很罗嗦,所以他们有这个使用typedef来制作新类型的好主意.我可以这样做:
typedef int myInt;@H_403_4@然后使用它:
myInt x;@H_403_4@所以你正在做的是声明有一个新类型Student,它相当于一个结构StudentRec.按照惯例,许多人对typedef使用与结构相同的名称 – 它是合法的:
typedef struct foo { int a,b; } foo;