Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site alice.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!alice!ark From: ark@alice.UucP (Andrew Koenig) Newsgroups: net.lang.c Subject: Re: Stack frames Message-ID: <4974@alice.uUCp> Date: Thu, 13-Feb-86 22:26:44 EST Article-I.D.: alice.4974 Posted: Thu Feb 13 22:26:44 1986 Date-Received: Sat, 15-Feb-86 02:12:00 EST References: <463@ur-helheim.UUCP> Organization: Bell Labs, Murray Hill Lines: 10 > In c one can declare variables within any {} block. Does a > {} pair *imply* new context, with stack frame shifts, etc. > I would have to assume so if local variables are declared > within the {} but if no variables are declared? ... The semantics are as if the {} allocated a new stack frame, but what actually happens is up to the compiler. Every compiler I have seen actually allocates stack memory only at entry to a procedure, both for greater speed and in order to do the right thing in case someone jumps into a "block".