#include<stdio.h>
struct table
{
char *ipAddress;
char *domainName;
struct table *next;
};
struct table *head = NULL;
void add_rec();
void show_rec();
int main()
{
add_rec();
show_rec();
return 0;
}
void add_rec()
{
struct table * temp = head;
struct table * temp1 = (struct table *)malloc(sizeof(struct table));
if(!temp1)
printf("\n Unable to allocate memory \n");
printf("Enter the ip address you want \n");
scanf("%s",temp1->ipAddress);
printf("\nEnter the domain name you want \n");
scanf("%s",temp1->domainName);
if(!temp)
{
head = temp;
}
else
{
while(temp->next!=NULL)
temp = temp->next;
temp->next = temp1;
}
}
void show_rec()
{
struct table * temp = head;
if(!temp)
printf("\n No entry exists \n");
while(temp!=NULL)
{
printf("ipAddress = %s\t domainName = %s\n",temp->ipAddress,temp->domainName);
temp = temp->next;
}
}
Lorsque j'exécute ce code et que j'entre l'adresse IP du premier noeud, je suis confronté à une erreur de fragmentation. Le code s'est écrasé. Quelqu'un peut-il éclairer?Erreur de fragmentation lors de l'exécution du programme C
Je pense que je peux deviner ce que vous entendez par une erreur de fragmentation, mais vous devriez vraiment être plus précis. Quelle est l'erreur exacte? Aussi, avez-vous utilisé un débogueur ou un outil similaire (je suggère valgrind), et qu'est-ce qu'il a dit? – crazyscot