#N canvas 180 82 808 543 12;
#N canvas 0 0 450 300 paint 0;
#X restore 683 320 pd paint;
#X obj 681 296 s pd-paint;
#X msg 681 270 clear;
#X obj 429 429 pointer;
#X msg 476 397 traverse pd-paint;
#X msg 429 398 bang;
#X msg 429 347 bang;
#X msg 245 400 100;
#X obj 429 372 t b b;
#X text 66 401 then set number ->;
#X text 173 503 This gets explain in the following...;
#N canvas 378 384 616 289 grob-06 1;
#X text 24 47 This defines a data structure named "grob" \, which holds
a float called "number".;
#X obj 102 222 drawnumber number;
#X text 32 163 The "number" float (it can also be called another name
of course) can be painted with: drawnumber.;
#X obj 101 117 struct grob-06 float number;
#X restore 310 236 pd grob-06;
#X obj 245 462 append grob-06 number;
#X text 53 18 What use is a pointer?;
#X text 137 57 If you have a pointer \, you can do various things with
it. The first pointer we got by "traversing" the paint area \, is the
HEAD pointer. It has no object to point to. Think of it a pointer to
NULL or a pointer to the beginning of an empty list.;
#X text 135 147 But we can "append" an object *after* the HEAD using
the "append" object.;
#X text 135 186 "append" needs to know what to append: The first argument
is the name of a structure \, which happens to be:;
#X text 140 278 The following arguments let you set the fields of the
object to append. You need to supply at least one field.;
#X connect 2 0 1 0;
#X connect 3 0 12 1;
#X connect 4 0 3 0;
#X connect 5 0 3 0;
#X connect 6 0 8 0;
#X connect 7 0 12 0;
#X connect 8 0 5 0;
#X connect 8 1 4 0;
