在内存分配后存储字符串
typedef struct student{
char *fName;
char *lName;
int pid;
}student;
vs
typedef struct student{
char fName;
char lName;
int pid;
}student;
这两个结构的使用情况有什么区别?就像为什么我要使用一个?
第一个结构将指向fName
和lName
字符的指针,通常是通常存储为字符数组的(可用于表示单个字符)。
第二个只是存储一个char
,这意味着您无法输入学生全名
这很简单。char fname
只能存储一个字符,而char *fname
是指指向string
的指针,而不是单个character
。
因此,如果要存储全名,则应使用第一种类型的结构,如果您只想存储个人的全名缩写,则应使用第二个结构。
注意:char *fname
只能使用malloc()
或calloc()