typedef struct student{
char *fName;
char *lName;
int pid;
}student;
vs
typedef struct student{
char fName;
char lName;
int pid;
}student;
这两种结构的使用有何不同?就像为什么我会使用一个而不是另一个?
答案 0 :(得分:4)
第一个结构包含一个指向fName
和lName
字符的指针,这些字符通常存储为字符数组(可用于表示单个字符)
第二个只存储一个char
,这意味着您无法输入学生姓名
答案 1 :(得分:0)
非常简单。 char fname
只能存储一个字符,而char *fname
是一个指针,指向string
而不是单独的character
。
所以,如果你想存储整个名字,那么你应该使用第一种类型的结构,如果你只想存储人物姓名的首字母,那么你应该使用第二种结构。
注意:char *fname
只能在使用malloc()
或calloc()