Skip to content

Instantly share code, notes, and snippets.

Last active February 23, 2023 13:31
What would you like to do?
#include <cs50.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct node
string phrase;
struct node *next;
#define LIST_SIZE 2
bool unload(node *list);
void visualizer(node *list);
int main(void)
node *list = NULL;
// Add items to list
for (int i = 0; i < LIST_SIZE; i++)
string phrase = get_string("Enter a new phrase: ");
// TODO: add phrase to new node in list
// Visualize list after adding a node.
// Free all memory used
if (!unload(list))
printf("Error freeing the list.\n");
return 1;
printf("Freed the list.\n");
return 0;
bool unload(node *list)
// TODO: Free all allocated nodes
return false;
void visualizer(node *list)
printf("\n+-- List Visualizer --+\n\n");
while (list != NULL)
printf("Location %p\nPhrase: \"%s\"\nNext: %p\n\n", list, list->phrase, list->next);
list = list->next;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment