Segmentation fault(SIGSEGV) and Bus error(SIGBUS) are signals generated when serious program error is detected by the operating system and there is no way the program could continue to execute because of these errors.
1) Segmentation Fault​ (also known as SIGSEGV and is usually signal 11) occur when the program tries to write/read outside the memory allocated for it or when writing memory which can only be read.In other words when the program tries to access the memory to which it doesn’t have access to. SIGSEGV is abbreviation for “Segmentation Violation”. 
Few cases where SIGSEGV signal generated are as follows, 
-> Using uninitialized pointer 
-> De-referencing a NULL pointer 
-> Trying to access memory that the program doesn’t own (eg. trying to access an array element 
out of array bounds). 
-> Trying to access memory which is already de-allocated (trying to use dangling pointers).