I was checking pointer to pointer, passing it without allocating. I want to allocate `a[0]="something str" a[1]="some thing str" a[2]="something str" a[3]="something str"` in `pp` function. Can I do this (allocating and filling with `strcpy` in pp function) and get it returned back to main?

This is my attempt:

```c
#include <stdio.h>
#include <malloc.h>
#include <string.h>

#define MAX_LEN 100
// float 3
void pp(char *arr, char *delimiter, char **a)
{
    int i = 0;
    *a = malloc(sizeof(char) * 10);
}

int main(int argc, void **argv)
{
    char *arr = "1.77 1.65 1.56 5.555 6.1";

    char **f;
    pp(arr, " ", &f[0]);
}

```

I thought I could just allocate individual `char *` and then populate as `strcpy(*(a+x),"something")` but it causes segfaults at `*a = malloc(sizeof(char) * 10);`.