Darn. I need a really good explanation of this. Time to look at google.
Isn't a seg fault related to trying to access memory not allocated to the program? I know that you can get a seg fault if you try to access a higher value than allocated for an array (or a negative value for that matter).