#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;
Run Code Online (Sandbox Code Playgroud)
我是编码的新手.我有一个关于为什么有学生的问题; 在括号之后..是我们必须遵循的格式.
pli*_*nth 17
你混淆了两件事.在C中,您可以定义如下结构:
struct foo {
int a, b;
};
Run Code Online (Sandbox Code Playgroud)
然后使用你必须这样做:
struct foo myFoo;
Run Code Online (Sandbox Code Playgroud)
这真的很罗嗦,所以他们有这个使用typedef来制作新类型的好主意.我可以这样做:
typedef int myInt;
Run Code Online (Sandbox Code Playgroud)
然后使用它:
myInt x;
Run Code Online (Sandbox Code Playgroud)
所以你正在做的是声明有一个新类型Student,它相当于一个结构StudentRec.按照惯例,许多人对typedef使用与结构相同的名称 - 它是合法的:
typedef struct foo { int a, b; } foo;
Run Code Online (Sandbox Code Playgroud)
Fre*_*son 13
这是创建一个typename"Student"来表示结构.使用typedef用于此目的的在C++不必要.它可以这样定义:
struct Student {
char lastname[NAMELEN];
char firstname[NAMELEN];
long int ID;
int finalmark;
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3762 次 |
| 最近记录: |