title: What is zalloc in embedded programming?
body: <p>I am looking into programming the ESP8266 serial-wifi chip. In its SDK examples it makes extensive use of a function called <code>os_zalloc</code> where I would expect <code>malloc</code>.</p>
  
  <p>Occasionally though, <code>os_malloc</code> is used as well. So they do not appear to be identical in function.</p>
  
  <p>Unfortunately there is no documentation. Can anybody make an educated guess from the following header file? </p>
  
  <pre><code>#ifndef __MEM_H__
  #define __MEM_H__
  
  //void *pvPortMalloc( size_t xWantedSize );
  //void vPortFree( void *pv );
  //void *pvPortZalloc(size_t size);
  
  #define os_malloc   pvPortMalloc
  #define os_free     vPortFree
  #define os_zalloc   pvPortZalloc
  
  #endif
  </code></pre>