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>
    malloc    [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="2010-04-26T09:06:02-0700" />
<meta name="keywords" content="c,mem,malloc" />
<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/c/mem/malloc?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=c:mem" />
<link rel="edit" title="Edit this page" href="/wiki/c/mem/malloc?do=edit" />
<link rel="alternate" type="text/html" title="Plain HTML" href="/wiki/_export/xhtml/c/mem/malloc" />
<link rel="alternate" type="text/plain" title="Wiki Markup" href="/wiki/_export/raw/c/mem/malloc" />
<link rel="canonical" href="http://www.cppreference.com/wiki/c/mem/malloc" />
<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='c:mem';var JSINFO = {"id":"c:mem:malloc","namespace":"c:mem"};
//--><!]]></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="breadcrumbs">
      <span class="bchead">You are here: </span><a href="../../start.html"  title="start">C++ Reference</a> &raquo; <a href="../../c/start.html"  title="c:start">The Standard C Library</a> &raquo; <a href="../../c/mem/start.html"  title="c:mem:start">Standard C Memory</a> &raquo; <a href="../../c/mem/malloc.html"  title="c:mem:malloc">malloc</a>    </div>
    
  </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="malloc" id="malloc">malloc</a></h2>
<div class="level2">

<p>
Syntax:
</p>
<pre class="c code c++" style="font-family:monospace;">    <span class="co2">#include &lt;cstdlib&gt;</span>
    <span class="kw4">void</span> <span class="sy0">*</span>malloc<span class="br0">&#40;</span> size_t size <span class="br0">&#41;</span><span class="sy0">;</span></pre>
<p>
The function malloc() returns a pointer to a chunk of memory of size size, or
NULL if there is an error. The memory pointed to will be on the heap, not the
stack, so make sure to free it when you are done with it. An example:
</p>
<pre class="c code c++" style="font-family:monospace;">     <span class="kw4">typedef</span> <span class="kw4">struct</span> data_type <span class="br0">&#123;</span>
       <span class="kw4">int</span> age<span class="sy0">;</span>
       <span class="kw4">char</span> name<span class="br0">&#91;</span>20<span class="br0">&#93;</span><span class="sy0">;</span>
     <span class="br0">&#125;</span> data<span class="sy0">;</span>
&nbsp;
     data <span class="sy0">*</span>bob<span class="sy0">;</span>
     bob <span class="sy0">=</span> <span class="br0">&#40;</span>data<span class="sy0">*</span><span class="br0">&#41;</span> malloc<span class="br0">&#40;</span> <span class="kw4">sizeof</span><span class="br0">&#40;</span>data<span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="sy0">;</span>
     <span class="kw1">if</span><span class="br0">&#40;</span> bob <span class="sy0">!=</span> NULL <span class="br0">&#41;</span> <span class="br0">&#123;</span>
       bob<span class="sy0">-&gt;</span>age <span class="sy0">=</span> <span class="nu0">22</span><span class="sy0">;</span>
       strcpy<span class="br0">&#40;</span> bob<span class="sy0">-&gt;</span>name<span class="sy0">,</span> <span class="st0">&quot;Robert&quot;</span> <span class="br0">&#41;</span><span class="sy0">;</span>
       <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a><span class="br0">&#40;</span> <span class="st0">&quot;%s is %d years old<span class="es1">\n</span>&quot;</span><span class="sy0">,</span> bob<span class="sy0">-&gt;</span>name<span class="sy0">,</span> bob<span class="sy0">-&gt;</span>age <span class="br0">&#41;</span><span class="sy0">;</span>
     <span class="br0">&#125;</span>
     free<span class="br0">&#40;</span> bob <span class="br0">&#41;</span><span class="sy0">;</span></pre>
<p>
NOTE that new/delete is preferred in C++ (as opposed to malloc/free in C).
</p>

<p>
Related Topics: <a href="../../c/mem/calloc.html" class="wikilink1" title="c:mem:calloc">calloc</a>, <a href="../../keywords/delete.html" class="wikilink1" title="keywords:delete">delete</a>, <a href="../../c/mem/free.html" class="wikilink1" title="c:mem:free">free</a>, <a href="../../keywords/new.html" class="wikilink1" title="keywords:new">new</a>, <a href="../../c/mem/realloc.html" class="wikilink1" title="c:mem:realloc">realloc</a>
</p>

</div>

    <!-- wikipage stop -->
  </div>

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

  
  <div class="stylefoot">

    <div class="meta">
      <div class="user">
              </div>
      <!--
      <div class="doc">
        c/mem/malloc.txt &middot; Last modified: 04/26/2010 09:06 by nate      </div>
      -->
    </div>

   
    </div></div></body>
</html>