如何爲結構中的我的char *
字段分配內存?如何分配char *字段結構中的內存
我的結構:
struct student{
int score;
char* name;
char* surname;
};
int main(){
struct student st[];
int i;
int n = 5;
for(i = 0; i < n; i++){
printf("Score: \n");
scanf("%d", &st[i].score);
printf("Name \n");
scanf("%s", &st[i].name);
printf("Surname \n");
scanf("%s",&st[i].surname)
}
}
如何的malloc到char* name
和char* surname
?
我必須有一個結構數組struct student st[]
。
我不知道,這是怎麼理性的。
void initialise_student(struct student *st, char* name, char* surname)
{
st->name = (strlen(name) + 1);
st->surname = (strlen(surname) +1);
}
int main(){
int i;
int n = 5;
struct student *st[n] = initialise_student();
for(i = 0; i < n; i++){
printf("Score: \n");
scanf("%d", &st[i].score);
printf("Name \n");
scanf("%s", &st[i].name);
printf("Surname \n");
scanf("%s",&st[i].surname);
}
如何配合?
字符串從哪裏來? –
字符串來自鍵盤scanf –
你想如何爲未知長度的字符串分配空間? –