January 21, 2003

Skid 23

blue citizens conform
to green animal wishes
above yellow flutes
roll the red, anonymous pastures
of the chartreuse-tinted sky
we drink black fire
from it, lavender smoke
emanating from the pink tails
on the violet
cyclone fish, their beige eyes
inspired by visions of paisley intestines
filled with puffy, lithe cucumbers

in argentina, where they smoke
apple juice by the bushel
in porcelain cars
imported through a straw urethra
from the dominant superpower (vietnam)
listening to haitian speeches
by danish war criminals
on the combo air conditioner/radio
made of refurbished, petrified elephant dung
laughing in hoarse tones
at the slips of cartesian grammar
that erupt from the photogenic, sad doctoral student

a geographer of gertrude stein
awash in maps of orcs
piecing together middle english vocables
from neck-operated chimps
lumped in grant’s tomb
they had been baked while he was suffering
just prior to being born
in a rush of lascivious paranoia
other commentators on stein think this wasn’t important
neither lust nor sleep frenzy impacted
the role furry, breast-eating edibles played
on the writing of "in youth is pleasure," or of “hotel lautreamont”

Posted by Brian Stefans at January 21, 2003 11:59 AM
Comments

Each Stack Frame represents a function. The bottom frame is always the main function, and the frames above it are the other functions that main calls. At any given time, the stack can show you the path your code has taken to get to where it is. The top frame represents the function the code is currently executing, and the frame below it is the function that called the current function, and the frame below that represents the function that called the function that called the current function, and so on all the way down to main, which is the starting point of any C program.

Posted by: Rose at January 19, 2004 05:00 AM

Since the Heap has no definite rules as to where it will create space for you, there must be some way of figuring out where your new space is. And the answer is, simply enough, addressing. When you create new space in the heap to hold your data, you get back an address that tells you where your new space is, so your bits can move in. This address is called a Pointer, and it's really just a hexadecimal number that points to a location in the heap. Since it's really just a number, it can be stored quite nicely into a variable.

Posted by: Eli at January 19, 2004 05:01 AM

This is another function provided for dealing with the heap. After you've created some space in the Heap, it's yours until you let go of it. When your program is done using it, you have to explicitly tell the computer that you don't need it anymore or the computer will save it for your future use (or until your program quits, when it knows you won't be needing the memory anymore). The call to simply tells the computer that you had this space, but you're done and the memory can be freed for use by something else later on.

Posted by: Matilda at January 19, 2004 05:01 AM

When compared to the Stack, the Heap is a simple thing to understand. All the memory that's left over is "in the Heap" (excepting some special cases and some reserve). There is little structure, but in return for this freedom of movement you must create and destroy any boundaries you need. And it is always possible that the heap might simply not have enough space for you.

Posted by: Gillam at January 19, 2004 05:02 AM

Note first that favoriteNumbers type changed. Instead of our familiar int, we're now using int*. The asterisk here is an operator, which is often called the "star operator". You will remember that we also use an asterisk as a sign for multiplication. The positioning of the asterisk changes its meaning. This operator effectively means "this is a pointer". Here it says that favoriteNumber will be not an int but a pointer to an int. And instead of simply going on to say what we're putting in that int, we have to take an extra step and create the space, which is what does. This function takes an argument that specifies how much space you need and then returns a pointer to that space. We've passed it the result of another function, , which we pass int, a type. In reality, is a macro, but for now we don't have to care: all we need to know is that it tells us the size of whatever we gave it, in this case an int. So when is done, it gives us an address in the heap where we can put an integer. It is important to remember that the data is stored in the heap, while the address of that data is stored in a pointer on the stack.

Posted by: Agnes at January 19, 2004 05:02 AM