Segmentation fault occurs when you reference memory that is not in your segment tables at all.
'Read beyond the end of your array' (if the array is the last thing in that allocation of memory) COULD do that, But servant of cats is more likely correct, a reference to an address WAY out in la-la land.
You get the actual reference and the program counter in that panic report. Use the program load map or listing and the reference to find out what was making the reference, or single-step through the execution and look at the values as they occur.
Throwing together a program is not so difficult. Getting it to work as intended is the more nuanced part, and can take MUCH more intensive work.