The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
 lang="en" dir="ltr">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>
    typedef    [C++ Reference]
  </title>

  <meta name="generator" content="DokuWiki Release 2009-12-25c &quot;Lemming&quot;" />
<meta name="robots" content="index,follow" />
<meta name="date" content="2009-05-14T11:47:42-0700" />
<meta name="keywords" content="keywords,typedef" />
<link rel="search" type="application/opensearchdescription+xml" href="/wiki/lib/exe/opensearch.php" title="C++ Reference" />
<link rel="start" href="/wiki/" />
<link rel="contents" href="/wiki/keywords/typedef?do=index" title="Index" />
<link rel="alternate" type="application/rss+xml" title="Recent Changes" href="/wiki/feed.php" />
<link rel="alternate" type="application/rss+xml" title="Current Namespace" href="/wiki/feed.php?mode=list&amp;ns=keywords" />
<link rel="edit" title="Edit this page" href="/wiki/keywords/typedef?do=edit" />
<link rel="alternate" type="text/html" title="Plain HTML" href="/wiki/_export/xhtml/keywords/typedef" />
<link rel="alternate" type="text/plain" title="Wiki Markup" href="/wiki/_export/raw/keywords/typedef" />
<link rel="canonical" href="http://www.cppreference.com/wiki/keywords/typedef" />
<link rel="stylesheet" media="all" type="text/css" href="/wiki/lib/exe/css.php?s=all&amp;t=custom1&amp;tseed=1272971091" />
<link rel="stylesheet" media="screen" type="text/css" href="/wiki/lib/exe/css.php?t=custom1&amp;tseed=1272971091" />
<link rel="stylesheet" media="print" type="text/css" href="/wiki/lib/exe/css.php?s=print&amp;t=custom1&amp;tseed=1272971091" />
<script type="text/javascript" charset="utf-8" ><!--//--><![CDATA[//><!--
var NS='keywords';var JSINFO = {"id":"keywords:typedef","namespace":"keywords"};
//--><!]]></script>
<script type="text/javascript" charset="utf-8" src="/wiki/lib/exe/js.php?tseed=1272971091" ></script>

  <link rel="shortcut icon" href="/wiki/lib/tpl/custom1/images/favicon.png" />

  </head>

<body>
<div class="dokuwiki">
  
  <div class="stylehead">

    <div class="header">
      <div class="pagename">
        [[<a href="../keywords/typedef.html"  title="Backlinks">typedef</a>]]
      </div>
      <div class="logo">
        <a href="http://www.cppreference.com"  name="dokuwiki__top" id="dokuwiki__top" accesskey="h" title="[ALT+H]">C++ Reference</a>      </div>

      <div class="clearer"></div>
    </div>

    
    
        <div class="breadcrumbs">
      <span class="bchead">You are here: </span><a href="../start.html"  title="start">C++ Reference</a> &raquo; <a href="../keywords/start.html"  title="keywords:start">C++ Keywords</a> &raquo; <a href="../keywords/typedef.html"  title="keywords:typedef">typedef</a>    </div>
    
  </div>

<div class="plugin_translation"><span>Translations of this page<sup><a href="../localization.html" class="wikilink1" title="localization">?</a></sup>:</span> <ul>  <li><div class="li"><span class="curid"><a href="../keywords/typedef.html" class="wikilink1" title="keywords:typedef">en</a></span></div></li>  <li><div class="li"><a href="../br-pt/keywords/typedef.html" class="wikilink2" title="br-pt:keywords:typedef" rel="nofollow">br-pt</a></div></li>  <li><div class="li"><a href="../cn/keywords/typedef.html" class="wikilink2" title="cn:keywords:typedef" rel="nofollow">cn</a></div></li>  <li><div class="li"><a href="../cz/keywords/typedef.html" class="wikilink2" title="cz:keywords:typedef" rel="nofollow">cz</a></div></li>  <li><div class="li"><a href="../de/keywords/typedef.html" class="wikilink2" title="de:keywords:typedef" rel="nofollow">de</a></div></li>  <li><div class="li"><a href="../es/keywords/typedef.html" class="wikilink2" title="es:keywords:typedef" rel="nofollow">es</a></div></li>  <li><div class="li"><a href="../fr/keywords/typedef.html" class="wikilink2" title="fr:keywords:typedef" rel="nofollow">fr</a></div></li>  <li><div class="li"><a href="../it/keywords/typedef.html" class="wikilink1" title="it:keywords:typedef">it</a></div></li>  <li><div class="li"><a href="../jp/keywords/typedef.html" class="wikilink1" title="jp:keywords:typedef">jp</a></div></li>  <li><div class="li"><a href="../nl/keywords/typedef.html" class="wikilink2" title="nl:keywords:typedef" rel="nofollow">nl</a></div></li>  <li><div class="li"><a href="../pl/keywords/typedef.html" class="wikilink2" title="pl:keywords:typedef" rel="nofollow">pl</a></div></li>  <li><div class="li"><a href="../ro/keywords/typedef.html" class="wikilink2" title="ro:keywords:typedef" rel="nofollow">ro</a></div></li>  <li><div class="li"><a href="../ru/keywords/typedef.html" class="wikilink2" title="ru:keywords:typedef" rel="nofollow">ru</a></div></li>  <li><div class="li"><a href="../sk/keywords/typedef.html" class="wikilink2" title="sk:keywords:typedef" rel="nofollow">sk</a></div></li>  <li><div class="li"><a href="../tr/keywords/typedef.html" class="wikilink2" title="tr:keywords:typedef" rel="nofollow">tr</a></div></li>  <li><div class="li"><a href="../tw/keywords/typedef.html" class="wikilink2" title="tw:keywords:typedef" rel="nofollow">tw</a></div></li></ul></div>
  
  
  <div class="page">

    <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-2828341-1";
urchinTracker();
</script>
    <!-- wikipage start -->
    


<h2><a name="typedef" id="typedef">typedef</a></h2>
<div class="level2">

<p>
Syntax:
</p>
<pre class="c code c++" style="font-family:monospace;">    <span class="kw4">typedef</span> existing<span class="sy0">-</span>type new<span class="sy0">-</span>type<span class="sy0">;</span></pre>
<p>

The typedef keyword allows you to create a new alias for an existing data type.
This is often useful if you find yourself using a unwieldy data type – you can
use typedef to create a shorter, easier-to-use name for that data type. For
example:
</p>
<pre class="c code c++" style="font-family:monospace;">    <span class="kw4">typedef</span> <span class="kw4">unsigned</span> <span class="kw4">int</span><span class="sy0">*</span> pui_t<span class="sy0">;</span>
&nbsp;
    <span class="co1">// data1 and data2 have the same type</span>
    pui_t data1<span class="sy0">;</span>
    <span class="kw4">unsigned</span> <span class="kw4">int</span><span class="sy0">*</span> data2<span class="sy0">;</span></pre>
<p>
The syntax above is a simplification. More generally, after the word “typedef”,
the syntax looks exactly like what you would do to declare a variable of the
existing type with the variable name of the new type name. Therefore, for more
complicated types, the new type name might be in the middle of the syntax for the
existing type. For example:

</p>
<pre class="c code c++" style="font-family:monospace;">    <span class="kw4">typedef</span> <span class="kw4">char</span> <span class="br0">&#40;</span><span class="sy0">*</span>pa<span class="br0">&#41;</span><span class="br0">&#91;</span>3<span class="br0">&#93;</span><span class="sy0">;</span> <span class="co1">// &quot;pa&quot; is now a type for a pointer to an array of 3 chars</span>
    <span class="kw4">typedef</span> <span class="kw4">int</span> <span class="br0">&#40;</span><span class="sy0">*</span>pf<span class="br0">&#41;</span><span class="br0">&#40;</span><span class="kw4">float</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// &quot;pf&quot; is now a type for a pointer to a function which takes 1 float argument and returns an int</span></pre>
</div>
<div class="secedit"><form class="button btn_secedit" method="post" action="/wiki/keywords/typedef"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="lines" value="3-" /><input type="hidden" name="rev" value="1242326862" /><input type="submit" value="Edit" class="button" title="typedef" /></div></form></div>
    <!-- wikipage stop -->
  </div>

  <div class="clearer">&nbsp;</div>

  
  <div class="stylefoot">

    <div class="meta">
      <div class="user">
              </div>
      <!--
      <div class="doc">
        keywords/typedef.txt &middot; Last modified: 05/14/2009 11:47 by fernio      </div>
      -->
    </div>

   
    <div class="bar" id="bar__bottom">
      <div class="bar-left" id="bar__bottomleft">
        <a href="../keywords/typedef.html"  class="action edit" accesskey="e" rel="nofollow">Edit this page</a> &#149;
        <a href="../keywords/typedef.html"  class="action revisions" accesskey="o" rel="nofollow">Old revisions</a>      </div>
      <div class="bar-right" id="bar__bottomright">
         &#149;
         &#149;
         &#149;
        <a href="../keywords/typedef.html"  class="action login" rel="nofollow">Login</a> &#149;
        <a href="../keywords/typedef.html"  class="action index" accesskey="x" rel="nofollow">Index</a> &#149;
        <a href="../keywords/typedef.html"  class="action recent" accesskey="r" rel="nofollow">Recent changes</a> &#149;
        <a  href="../feed.php.html" title="Recent changes RSS feed">RSS</a> &#149;
        <a href='http://creativecommons.org/licenses/by/3.0/us/' title='Creative Commons license'>cc</a> &#149;
        <form action="/wiki/" accept-charset="utf-8" class="search" id="dw__search"><div class="no"><input type="hidden" name="do" value="search" /><input type="text" id="qsearch__in" accesskey="f" name="id" class="edit" title="[ALT+F]" /><input type="submit" value="Search" class="button" title="Search" /><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form>&nbsp;
      </div>
      <div class="clearer"></div>
    </div>

  </div>

</div>

<div class="no"><img src="/wiki/lib/exe/indexer.php?id=keywords%3Atypedef&amp;1273193147" width="1" height="1" alt=""  /></div>
</body>
</html>