The type of string
used in the Pascal
programming language. Like most things related to Pascal, it is not the least bit confusing, but really kind of limiting when you think about it. The concept of Pascal strings is not necessarily limited to Pascal; some C programmers choose to use Pascal strings internally just because they think it's a better way of doing things.
A Pascal string (in any language) is stored in memory as a series of bytes representing characters. The characters begin at the second address (in C, this would be address 1); the first address contains the length of the string as a raw number value.
That's about it. You just set the first byte for your length, and add whatever characters you need. Like a C string, a four-letter string will actually be five characters long because the first character is in use (and equal to "4").
The general complaint is that if your length has to be expressed as a single byte, your string length is limited to what a byte can express (no higher than 256, and the first byte is reserved for the length). I don't know how exactly Pascal programmers get around this, but i imagine they must have found some way, because there's no way you can live with only 255-character stings.
A lot of the classic macintosh toolbox functions expect to be passed strings in Pascal string form. This is maybe the worst thing about programming for the mac at first, because you have to keep track of where you want to use a C string and where you want to use a Pascal string and when to convert between the two. There are, by the way, standard p2c() and c2p() library functions that will convert between Pascal and c strings.
See also C string.