<html lang="en">
<head>
<title>Strings - STABS</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="STABS">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Types.html#Types" title="Types">
<link rel="prev" href="Arrays.html#Arrays" title="Arrays">
<link rel="next" href="Enumerations.html#Enumerations" title="Enumerations">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1992-2019 Free Software Foundation, Inc.
Contributed by Cygnus Support.  Written by Julia Menapace, Jim Kingdon,
and David MacKenzie.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts.  A copy of the license is included in the section entitled ``GNU
Free Documentation License''.-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="Strings"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Enumerations.html#Enumerations">Enumerations</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Arrays.html#Arrays">Arrays</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Types.html#Types">Types</a>
<hr>
</div>

<h3 class="section">5.6 Strings</h3>

<p>Some languages, like C or the original Pascal, do not have string types,
they just have related things like arrays of characters.  But most
Pascals and various other languages have string types, which are
indicated as follows:

     <dl>
<dt><code>n </code><var>type-information</var><code> ; </code><var>bytes</var><dd><var>bytes</var> is the maximum length.  I'm not sure what
<var>type-information</var> is; I suspect that it means that this is a string
of <var>type-information</var> (thus allowing a string of integers, a string
of wide characters, etc., as well as a string of characters).  Not sure
what the format of this type is.  This is an AIX feature.

     <br><dt><code>z </code><var>type-information</var><code> ; </code><var>bytes</var><dd>Just like &lsquo;<samp><span class="samp">n</span></samp>&rsquo; except that this is a gstring, not an ordinary
string.  I don't know the difference.

     <br><dt><code>N</code><dd>Pascal Stringptr.  What is this?  This is an AIX feature. 
</dl>

   <p>Languages, such as CHILL which have a string type which is basically
just an array of characters use the &lsquo;<samp><span class="samp">S</span></samp>&rsquo; type attribute
(see <a href="String-Field.html#String-Field">String Field</a>).

   </body></html>

