Interview Questions

This program crashes before it even runs!

C Interview Questions and Answers


(Continued from previous question...)

This program crashes before it even runs!

Q: This program crashes before it even runs! (When single-stepping with a debugger, it dies before the first statement in main.)

A: You probably have one or more very large (kilobyte or more) local arrays. Many systems have fixed-size stacks, and even those which perform dynamic stack allocation automatically (e.g. Unix) can be confused when the stack tries to grow by a huge chunk all at once. It is often better to declare large arrays with static duration (unless of course you need a fresh set with each recursive call, in which case you could dynamically allocate them with malloc;
Other possibilities are that your program has been linked incorrectly (combining object modules compiled with different compilation options, or using improper dynamic libraries), or that run-time dynamic library linking is failing for some reason, or that you have somehow misdeclared main.

(Continued on next question...)

Other Interview Questions