【发布时间】:2020-11-28 21:09:09
【问题描述】:
我正在创建一个程序,该程序要求用户在一个结构中输入他们的名字,该结构带有一个使用 malloc 动态分配内存的 char 指针。我如何将 LinkedList 包含到这个程序中?
#define MAX_NUM_PASSPORTS 5
typedef struct passport{
char *getFirstNameFromApplicant;
unsigned long long int id;
}Passport;
int main()
{
char *firstname = (char*) malloc(MAX_BUFF_SIZE * sizeof(char));
if (firstname == NULL){
fprintf(stderr, "Failed!");
exit(1);
}
Passport *passports = (Passport*) malloc(MAX_NUM_PASSPORTS * sizeof(Passport));
if (passports == NULL){
fprintf(stderr, "Failed!");
exit(2);
}
for (int i = 0; i < MAX_NUM_PASSPORTS; i++){
Passport *temp_passport = &passports[i];
temp_passport->id = I;
printf("Please enter first name of the owner for Passport with ID=%d: \n", I);
get_input(firstname, MAX_BUFF_SIZE-1);
temp_passport->getFirstNameFromApplicant = (char*) malloc(strlen(firstname)*sizeof(char) + 1);
if (temp_passport->getFirstNameFromApplicant == NULL){
fprintf(stderr, "Passport Name Malloc Failed!");
exit(3);
}
strcpy(temp_passport->getFirstNameFromApplicant, firstname);
}
for (int i = 0; i < MAX_NUM_PASSPORTS; i++){
printf("\nPassport id:%d has been succesfully renewed. It belongs to %s",passports[i].id, passports[i].getFirstNameFromApplicant);
}
return 0;
}
【问题讨论】:
-
你想用LinkedList做什么?请提供详细信息。
-
嗨,这是我的作业。我知道 LinkedList 的功能,并且能够使用静态名称数组对其进行编程,但我不知道如何将其动态编程到该程序中。
-
那么,您需要创建护照的 LL 吗?对吗?
-
是的,没错。
-
你有没有搜索过如何实现链表?实际上有成千上万的帖子和示例。当你甚至没有表现出任何研究或实现你需要做的基础的尝试时,仅仅要求某人重新构建你的代码是不合理的。
标签: c