#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;