Others have answered how to fix the error, so I won't go over that. Instead, I will answer the question of why you are getting a segmentation fault.
So, let's step through your code and see what's happening!
const int buffsize = 32;
char* splitStrings[buffsize];
Alright! So far, you have declared a const int of size 32 (good use of const btw!), and you have created a pointer to an array of characters of size 32!
So let's look at the next line!
splitStrings[0][0] = 'a';
So now, you are trying to look at the first item in the array that splitStrings points to, and then looking at the first item in that array. And this is where you get your segmentation fault!
In C, a segmentation fault occurs when something tries to access memory that it is not allowed to access. In this case, it's alright for you to access splitStrings[0], but not splitStrings[0][0]. This is because you currently don't have an array at splitStrings[0] - instead, you just have an unassigned pointer to a character.
So, when the compiler tries to work through that, it says "Okay, let's look at the first item in splitStrings! Alright, that's a pointer to a character! Now, let's look at the first item under that character! It's - wait, hold on. I haven't assigned that yet, it isn't allowed to have its own array yet! Segmentation fault!"
To fix this, you will need to create a 2D array (that's an array of arrays) and allocate that memory. EsmaeelE has given good instructions on how to do that in their answer here. I also highly recommend the TutorialsPoint segments on multi-dimensional arrays and arrays of pointers. The site is an excellent resource for anyone trying to learn the C programming language!
I hope that helped you understand the segmentation fault better! Feel free to ask for any clarifications!
char *s. And what they point to is undefined.mallocis your friend.