What causes segmentation faults in GCC?

  • Thread starter Thread starter karthik3k
  • Start date Start date
  • Tags Tags
    Fault
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
5 replies · 4K views
karthik3k
Messages
149
Reaction score
0
Segmentation Fault !

What does it mean?
I often get that in GCC.
How to overcome that ?
please help!
 
Physics news on Phys.org
Just a simple program to open and read a file.
Declared 2 char pointers in the beginning.
When i changed 1 of them to char array i cud bypass that Error.
 
In particular, it sounds like you're forgetting to allocate memory.

Recall that the point (haha) of a pointer is that it points to memory. So, unless you have an existing block of memory to which you can tell the pointer to point, the pointer is pointing into nothingness, and a segmentation fault occurs.

Some solutions are:

Declare an array.

Memory does get allocated for arrays, so when you declare one, enough space is allocated to hold the array. So, unless you go out of bounds, you don't have any problem.

Use malloc (or new in C++) to allocate memory, and assign it to the pointer. Don't forget to free (or delete) it when you're done with it!
 
This error often shows up when you call the wrong number of arguments in a function.