structure of c programs