<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-menu-disabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-os vector-feature-navigation-update-disabled vector-sticky-header-enabled skin-thumbsize-clientpref-standard" lang="it" dir="ltr"><head>
    <meta charset="UTF-8">
    <title>Stdlib.h</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" type="image/png" href="./_res_/favicon.png">
    <link rel="canonical" href="https://it.wikipedia.org/wiki/Stdlib.h"> <link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/mediawiki.skinning.content.parsoid.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
    <meta name="ResourceLoaderDynamicStyles" content="">
    
    <link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
    <link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
    <link rel="stylesheet" type="text/css" href="./_res_/footer.css">
    <link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
  </head>
  <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Stdlib_h rootpage-Stdlib_h skin-vector-2022 action-view">
    <div class="mw-page-container">
      <div class="mw-page-container-inner">
        <div class="mw-content-container">
          <main id="content" class="mw-body">
            <header class="mw-body-header vector-page-titlebar">
              <h1 id="firstHeading" class="firstHeading mw-first-heading">stdlib.h</h1>
            </header>
            <a id="top"></a>
            <div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
              <div id="contentSub">
                <div id="mw-content-subtitle"></div>
              </div>
              <div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="it" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="it" dir="ltr" data-mw-parsoid-version="0.24.0.0-alpha15" data-mw-html-version="2.8.0"><section data-mw-section-id="0" id="mwAQ"><span typeof="mw:Transclusion" id="mwAw"></span>

<p id="mwBA"><b id="mwBQ">stdlib.h</b> (STanDard LIBrary, libreria standard) è l'<a rel="mw:WikiLink" href="Header_file" title="Header file" class="mw-redirect" id="mwBg">header file</a> che, all'interno della <a rel="mw:WikiLink" href="Libreria_standard_del_C" title="Libreria standard del C" id="mwBw">libreria standard del C</a>, dichiara funzioni e costanti di <b id="mwCA">utilità generale</b>: allocazione della memoria, controllo dei processi, e altre funzioni generali comprendenti anche i <a rel="mw:WikiLink" href="Tipo_di_dato" title="Tipo di dato" id="mwCQ">tipi di dato</a>. È compatibile con il <a rel="mw:WikiLink" href="C%2B%2B" title="C++" id="mwCg">C++</a> ed è noto in quell'ambito con il nome <code id="mwCw">cstdlib</code>.</p>

</section><section data-mw-section-id="1" id="mwDQ" aria-labelledby="Funzioni"><div class="mw-heading mw-heading2"><h2 id="Funzioni">Funzioni</h2></div>
<p id="mwDg">Le funzioni di <code id="mwDw">stdlib.h</code> possono essere classificate nelle seguenti categorie: conversione tra tipi, gestione della memoria, controllo dei processi, ricerca ed ordinamento, matematica semplice.</p>

<table class="wikitable" id="mwEA">
<tbody id="mwEQ"><tr bgcolor="#e9e9e9" id="mwEg">
<th id="mwEw">Nome</th><th id="mwFA">Descrizione</th></tr>
<tr bgcolor="#f2f2f2" id="mwFQ">
<td colspan="2" align="center" id="mwFg"><span style="font-size: 120%;" id="mwFw">Conversione tra tipi</span></td></tr>
<tr id="mwGA">
<td id="mwGQ"><code id="mwGg">atof</code></td><td id="mwGw">Converte una <a rel="mw:WikiLink" href="Stringa_(informatica)" title="Stringa (informatica)" id="mwHA">stringa</a> in un numero in <a rel="mw:WikiLink" href="Virgola_mobile" title="Virgola mobile" class="mw-redirect" id="mwHQ">virgola mobile</a>. Equivalente a <code id="mwHg">strtod(s, (char**)NULL)</code>.</td></tr>
<tr id="mwHw">
<td id="mwIA"><code id="mwIQ">atoi</code></td><td id="mwIg">Converte una <a rel="mw:WikiLink" href="Stringa_(informatica)" title="Stringa (informatica)" id="mwIw">stringa</a> in un <a rel="mw:WikiLink" href="Numero_intero_(informatica)" title="Numero intero (informatica)" id="mwJA">numero intero</a>. Equivalente a <code id="mwJQ">(int)strtol(s, (char**)NULL, 10)</code>.</td></tr>
<tr id="mwJg">
<td id="mwJw"><code id="mwKA">atol</code></td><td id="mwKQ">Converte una <a rel="mw:WikiLink" href="Stringa_(informatica)" title="Stringa (informatica)" id="mwKg">stringa</a> in un <a rel="mw:WikiLink" href="Numero_intero_(informatica)" title="Numero intero (informatica)" id="mwKw">numero intero</a> lungo (<b id="mwLA">long int</b>). Equivalente a <code id="mwLQ">strtol(s, (char**)NULL, 10)</code>.</td></tr>
<tr id="mwLg">
<td id="mwLw"><code id="mwMA">strtod</code></td><td id="mwMQ">Converte una <a rel="mw:WikiLink" href="Stringa_(informatica)" title="Stringa (informatica)" id="mwMg">stringa</a> in un <i id="mwMw">double</i> (numero a <a rel="mw:WikiLink" href="Virgola_mobile" title="Virgola mobile" class="mw-redirect" id="mwNA">virgola mobile</a>), effettuando dei controlli sull'<a rel="mw:WikiLink" href="Arithmetic_overflow" title="Arithmetic overflow" class="mw-redirect" id="mwNQ">overflow</a> e restituendo anche l'eventuale parte non convertita della stringa.</td></tr>
<tr id="mwNg">
<td id="mwNw"><code id="mwOA">strtol</code></td><td id="mwOQ">Converte una <a rel="mw:WikiLink" href="Stringa_(informatica)" title="Stringa (informatica)" id="mwOg">stringa</a>, che rappresenta un numero in una <a rel="mw:WikiLink" href="Sistema_di_numerazione" title="Sistema di numerazione" id="mwOw">base</a> arbitraria compresa tra 2 e 36, in un long int, effettuando dei controlli sull'overflow e restituendo anche l'eventuale parte non convertita della stringa.</td></tr>
<tr id="mwPA">
<td id="mwPQ"><code id="mwPg">strtoul</code></td><td id="mwPw">Equivalente a <code id="mwQA">strtol()</code> tranne per il tipo del risultato, che è <i id="mwQQ">unsigned long</i>.</td></tr>
<tr bgcolor="#f2f2f2" id="mwQg">
<td colspan="2" align="center" id="mwQw"><span style="font-size: 120%;" id="mwRA"> Generazione di numeri pseudocasuali </span></td></tr>
<tr id="mwRQ">
<td id="mwRg"><code id="mwRw">rand</code></td><td id="mwSA">Restituisce un numero intero pseudocasuale compreso tra 0 e RAND_MAX.</td></tr>
<tr id="mwSQ">
<td id="mwSg"><code id="mwSw">srand</code></td><td id="mwTA">Inizializza il seme per la sequenza di numeri pseudocasuali della funzione <code id="mwTQ">rand()</code>.</td></tr>
<tr bgcolor="#f2f2f2" id="mwTg">
<td colspan="2" align="center" id="mwTw"><span style="font-size: 120%;" id="mwUA"> Allocazione e deallocazione di memoria </span></td></tr>
<tr id="mwUQ">
<td id="mwUg"><code id="mwUw">calloc, malloc, realloc</code></td><td id="mwVA">Funzioni che si occupano dell'<a rel="mw:WikiLink" href="Allocazione_dinamica_della_memoria" title="Allocazione dinamica della memoria" id="mwVQ">allocazione dinamica della memoria</a>.</td></tr>
<tr id="mwVg">
<td id="mwVw"><code id="mwWA">free</code></td><td id="mwWQ">Libera la memoria allocata dinamicamente dalla famiglia di funzioni <code id="mwWg">malloc()</code>.</td></tr>
<tr bgcolor="#f2f2f2" id="mwWw">
<td colspan="2" align="center" id="mwXA"><span style="font-size: 120%;" id="mwXQ"> Controllo dei processi </span></td></tr>
<tr id="mwXg">
<td id="mwXw"><code id="mwYA">abort</code></td><td id="mwYQ">Causa la terminazione immediata ed anormale del programma, come se fosse stato invocato <code id="mwYg">raise(SIGABRT)</code>.</td></tr>
<tr id="mwYw">
<td id="mwZA"><code id="mwZQ">atexit</code></td><td id="mwZg">Registra una funzione, della quale le viene passato il puntatore, affinché venga eseguita appena prima della normale terminazione del programma.</td></tr>
<tr id="mwZw">
<td id="mwaA"><code id="mwaQ">exit</code></td><td id="mwag">Causa la normale terminazione del programma. Tutte le funzioni registrate con <code id="mwaw">atexit()</code> vengono eseguite con ordine inverso rispetto alla loro registrazione, gli stream associati al programma vengono liberati, i file vengono scritti su disco (vedere <code id="mwbA">flush()</code>) ed il controllo viene restituito all'ambiente chiamante, assieme ad un valore numerico, che generalmente indica lo stato del programma o la causa della sua terminazione, che deve essere fornito alla funzione stessa.</td></tr>
<tr id="mwbQ">
<td id="mwbg"><code id="mwbw">getenv</code></td><td id="mwcA">Restituisce la <a rel="mw:WikiLink" href="Stringa_(informatica)" title="Stringa (informatica)" id="mwcQ">stringa</a> che nell'ambiente di lavoro del programma è associata al nome fornito, oppure <code id="mwcg">NULL</code> se non esiste alcuna stringa. I dettagli della funzione sono strettamente dipendenti dal sistema operativo. Vedere anche <a rel="mw:WikiLink" href="Variabile_d'ambiente" title="Variabile d'ambiente" id="mwcw">variabile d'ambiente</a>.</td></tr>
<tr id="mwdA">
<td id="mwdQ"><code id="mwdg">system</code></td><td id="mwdw">Passa la <a rel="mw:WikiLink" href="Stringa_(informatica)" title="Stringa (informatica)" id="mweA">stringa</a> fornitale all'ambiente di lavoro per l'esecuzione e restituisce il codice d'uscita del comando invocato. Se si fornisce <code id="mweQ">NULL</code>, informa sulla eventuale presenza nel sistema di un processore di comandi.</td></tr>
<tr bgcolor="#f2f2f2" id="mweg">
<td colspan="2" align="center" id="mwew"><span style="font-size: 120%;" id="mwfA"> Ricerca ed ordinamento </span></td></tr>
<tr id="mwfQ">
<td id="mwfg"><code id="mwfw">bsearch</code></td><td id="mwgA">Implementa in maniera generica l'algoritmo di <a rel="mw:WikiLink" href="Ricerca_dicotomica" title="Ricerca dicotomica" id="mwgQ">ricerca dicotomica</a>.</td></tr>
<tr id="mwgg">
<td id="mwgw"><code id="mwhA">qsort</code></td><td id="mwhQ">Implementa in maniera generica l'algoritmo di ordinamento <a rel="mw:WikiLink" href="Quicksort" title="Quicksort" id="mwhg">quicksort</a>.</td></tr>
<tr bgcolor="#f2f2f2" id="mwhw">
<td colspan="2" align="center" id="mwiA"><span style="font-size: 120%;" id="mwiQ"> Matematica semplice </span> - presenti anche in <a rel="mw:WikiLink" href="Math.h" title="Math.h" id="mwig">math.h</a></td></tr>
<tr id="mwiw">
<td id="mwjA"><code id="mwjQ">abs, labs</code></td><td id="mwjg">Calcola il <a rel="mw:WikiLink" href="Valore_assoluto" title="Valore assoluto" id="mwjw">valore assoluto</a> dell'argomento.</td></tr>
<tr id="mwkA">
<td id="mwkQ"><code id="mwkg">div, ldiv</code></td><td id="mwkw">Calcola il quoziente ed il resto della divisione intera tra il dividendo ed il divisore forniti.</td></tr>
</tbody></table>

</section><section data-mw-section-id="2" id="mwlA" aria-labelledby="Costanti"><div class="mw-heading mw-heading2"><h2 id="Costanti">Costanti</h2></div>
<p id="mwlQ">Le costanti definite in <code id="mwlg">stdlib.h</code> includono:</p>
<table class="wikitable" id="mwlw">
<tbody id="mwmA"><tr bgcolor="#e9e9e9" id="mwmQ">
<th id="mwmg">Nome</th><th id="mwmw">Valore</th><th id="mwnA">Descrizione</th></tr>
<tr id="mwnQ">
<td id="mwng"><code id="mwnw"><a rel="mw:WikiLink" href="NULL" title="NULL" id="mwoA">NULL</a></code></td><td id="mwoQ">Generalmente viene definita come <code id="mwog">0</code>, oppure <code id="mwow">0L</code>, oppure <code id="mwpA">(void*)0</code></td><td id="mwpQ">Una <a rel="mw:WikiLink" href="Macro_(informatica)" title="Macro (informatica)" id="mwpg">macro</a> che espande nella costante <a rel="mw:WikiLink" href="Puntatore_(programmazione)#Il_puntatore_null" title="Puntatore (programmazione)" id="mwpw">puntatore nullo</a>; in altre parole, una costante che rappresenta un valore che è garantito essere l'indirizzo di una posizione <b id="mwqA">non</b> valida nella memoria.</td></tr>
<tr id="mwqQ">
<td id="mwqg"><code id="mwqw">EXIT_FAILURE</code></td><td id="mwrA">È garantita essere un valore diverso da <code id="mwrQ">0</code></td><td id="mwrg">Indica una terminazione non corretta del programma: viene generalmente utilizzata assieme alla funzione <code id="mwrw">exit()</code>.</td></tr>
<tr id="mwsA">
<td id="mwsQ"><code id="mwsg">EXIT_SUCCESS</code></td><td id="mwsw"><code id="mwtA">0</code></td><td id="mwtQ">Indica una terminazione corretta del programma: viene generalmente utilizzata assieme alla funzione <code id="mwtg">exit()</code>.</td></tr>
<tr id="mwtw">
<td id="mwuA"><code id="mwuQ">RAND_MAX</code></td><td id="mwug"><code id="mwuw">&gt;= 32767</code></td><td id="mwvA">Massimo valore restituibile dalla funzione <code id="mwvQ">rand()</code>.</td></tr>
</tbody></table>

</section><section data-mw-section-id="3" id="mwvg" aria-labelledby="Tipi_di_dato"><div class="mw-heading mw-heading2"><h2 id="Tipi_di_dato">Tipi di dato</h2></div>
<p id="mwvw">I tipi di dato definiti in <code id="mwwA">stdlib.h</code> sono:</p>
<table class="wikitable" id="mwwQ">
<tbody id="mwwg"><tr bgcolor="#e9e9e9" id="mwww">
<th id="mwxA">Nome</th><th id="mwxQ">Descrizione</th></tr>
<tr id="mwxg">
<td id="mwxw"><code id="mwyA">size_t</code></td><td id="mwyQ">Un tipo <a rel="mw:WikiLink" href="Numero_intero_(informatica)" title="Numero intero (informatica)" id="mwyg">intero</a> che è il tipo del valore restituito dall'<a rel="mw:WikiLink" href="Operatore_(informatica)" title="Operatore (informatica)" id="mwyw">operatore</a> <code id="mwzA">sizeof</code>.</td></tr>
<tr id="mwzg">
<td id="mwzw"><code id="mw0A">div_t</code> e <code id="mw0Q">ldiv_t</code></td><td id="mw0g">Una <a rel="mw:WikiLink" href="Struttura_dati#Record_o_struttura" title="Struttura dati" id="mw0w">struttura</a> contenente le informazioni restituite dalle funzioni <code id="mw1A">div</code> e <code id="mw1Q">ldiv</code>.</td></tr>
</tbody></table>

</section><section data-mw-section-id="4" id="mw1g" aria-labelledby="Voci_correlate"><div class="mw-heading mw-heading2"><h2 id="Voci_correlate">Voci correlate</h2></div>
<ul id="mw1w"><li id="mw2A"><a rel="mw:WikiLink" href="Stdio.h" title="Stdio.h" id="mw2Q">stdio.h</a></li>
<li id="mw2g"><a rel="mw:WikiLink" href="Libreria_standard_del_C" title="Libreria standard del C" id="mw2w">Libreria standard del C</a></li>
<li id="mw3A"><a rel="mw:WikiLink" href="Malloc" title="Malloc" id="mw3Q">malloc</a></li></ul>

</section><section data-mw-section-id="5" id="mw3g" aria-labelledby="Altri_progetti"><div class="mw-heading mw-heading2"><h2 id="Altri_progetti">Altri progetti</h2></div>
<div id="interProject" style="border: 1px solid var(--border-color-base, #a2a9b1); display: none; clear: both; padding: .5em" typeof="mw:Transclusion"><p id="sisterProjects"><span>Altri progetti</span></p><ul title="Collegamenti verso gli altri progetti Wikimedia">
<li class="" title=""><a rel="mw:WikiLink/Interwiki" href="https://it.wikibooks.org/wiki/C/Appendice/Librerie%20standard" title="b:C/Appendice/Librerie standard" class="extiw external">Wikibooks</a></li></ul></div><ul><li><span typeof="mw:File"><img alt="Collabora a Wikibooks" src="./_assets_/a57f5814152f3049267aded607469870.png" decoding="async" data-file-width="300" data-file-height="300" data-file-type="drawing" height="18" width="18" class="mw-file-element" loading="lazy"></span> <a rel="mw:WikiLink/Interwiki" href="https://it.wikibooks.org/wiki/" title="b:" class="extiw external">Wikibooks</a> contiene testi o manuali su <b><a rel="mw:WikiLink/Interwiki" href="https://it.wikibooks.org/wiki/C/Appendice/Librerie%20standard" title="b:C/Appendice/Librerie standard" class="extiw external">stdlib.h</a></b></li></ul>

</section><section data-mw-section-id="6" id="mw3w" aria-labelledby="Collegamenti_esterni"><div class="mw-heading mw-heading2"><h2 id="Collegamenti_esterni">Collegamenti esterni</h2></div>
<ul id="mw4A"><li id="mw4Q"><span typeof="mw:Transclusion" id="mw4g">(</span><span style="font-weight:bolder; font-size:80%"><abbr title="inglese">EN</abbr></span><span>) </span> <a rel="mw:ExtLink nofollow" href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stdlib.h.html" class="external text" id="mw4w">stdlib.h</a> da The Open Group Base Specifications Issue 7</li>
<li id="mw5A"><cite class="citation web" style="font-style:normal" typeof="mw:Transclusion" id="mw5Q">(<span style="font-weight:bolder; font-size:80%"><abbr title="inglese">EN</abbr></span>) <a rel="mw:ExtLink nofollow" href="https://web.archive.org/web/20100107170924/http://www.cplusplus.com/reference/clibrary/cstdlib/" class="external text"><span style="font-style:italic;">C Standard General Utilities Library</span></a>, su <span style="font-style:italic;">cplusplus.com</span>. <small>URL consultato il 3 luglio 2012</small> <small>(archiviato dall'<abbr title="http://www.cplusplus.com/reference/clibrary/cstdlib/">url originale</abbr> il 7 gennaio 2010)</small>.</cite></li>
<li id="mw5g"><a rel="mw:ExtLink nofollow" href="https://web.archive.org/web/20101124224627/http://appuntilinux.mirror.garr.it/mirrors/appuntilinux/a2/a295.htm#almltitle4065" class="external text" id="mw5w">69.9 File «stdlib.h»</a> da <a rel="mw:WikiLink" href="Appunti_di_informatica_libera" title="Appunti di informatica libera" id="mw6A">Appunti di informatica libera</a></li></ul>



</section></div><!--htdig_noindex--><div><div class="zim-footer">
    Questa voce è stata pubblicata da <a class="external text" title="Ultima modifica il 2026-01-12" href="https://it.wikipedia.org/wiki/?title=Stdlib.h&amp;oldid=148884053">Wikipedia</a>. Il testo è rilasciato in base alla licenza <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.it">Creative Commons Attribution-Share Alike 4.0</a>, salvo diversa indicazione. Potrebbero essere applicate clausole aggiuntive per i file multimediali.
</div>
</div><!--/htdig_noindex--></div>
            </div>
          </main>
        </div>
      </div>
    </div>
     <script src="./_webp_/webpHandler.js"></script>
  

</body></html>