I got an error: Undefined symbols for architecture arm64:
  "_main", referenced from:
     implicit entry/start for main executable
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

How do I resolve this?
int create_user(const char *name, User **user_ptr_add) {
    User *this_user = malloc(sizeof(User));
    this_user->next = NULL;

    /* Need to check if name can be fully copied over. */
    if (strlen(name) > sizeof(this_user->name) - 1) {
        return 2;}
    
    /* Case 1: I am the first user. user_ptr_add is NULL? the linked list is empty. */
    if (*user_ptr_add == NULL) {
        strncpy(this_user->name, name, sizeof(this_user->name));
        this_user->name[31] = '\0';
        *user_ptr_add = this_user;
        return 0;
    }
    /* Case 2: linked list already contains users. */
    User *curr = *user_ptr_add;
    /* Find the last node <- its next is NULL. */
    while (curr->next != NULL) {
        /* Check for duplicate names. */
        if (strcmp(curr->name, name) == 0) {
            return 1;
        } curr = curr->next;
    } curr->next = this_user;
    strncpy(this_user->name, name, sizeof(this_user->name));
    this_user->name[31] = '\0';

    return -1;
}