dijous, 13 d’agost del 2020

Llibreria stdlib.h

 #include <stdlib.h>



La llibreria stdlib.h ens aporta funcions, macros i estructures de us general.

Funcions:

Les funcions que aporta aquesta llibreria cobreixen múltiples propòsits i les podem agrupar en diferents grups segons el propòsit i manipulació de la memòria.

  • abs      --> int abs(int num);
  • labs     --> long int labs(long int num);


Control de procesos:
  • abort    --> void abort(void);
  • atexit   --> int atexit(void (*func(void));
  • exit     --> void exit(int estat);
  • system   --> int system(const char *cadena);
  • getenv   --> char *getenv(const char *nom);


Transformar strings en valors numèrics float, int o long:
  • atof     --> double atof(const char *numPtr);
  • atoi     --> int atoi(const char *numPtr);
  • atol     --> long atol(const char *numPtr);


Manipulació memòries multibytes:
  • mblen    --> int mblen(const char *str, size_t n);
  • mbstowcs --> size_t mbstowcs(wchar_t *pwcs, const char *str, size_t n);
  • mbtowc   --> lint mbtowc(wchar_t *pwc, const char *str, size_t n);
  • wctomb   --> int wctomb(char *str, wchar_t wchar);
    


Números aleatoris:

  • rand     --> int rand(void);
  • srand    --> void srand(unsigned int llavor);


Transformar strings numèrics a memòries numèriques en base decimal:
  • strtod   --> idouble strtod(const char *numPtr,char **finalPtr);
  • strol    --> long int strol(const char*numPtr,char **finalPtr,int base);
  • strtoul  --> unsigned long int stroul(const char*numPtr,char **finalPtr,int base);
  • qsort    --> void qsort(void *llista, size_t nmemb,size_t tamany,

                 int(*cmpfunc)(const void*, const void*));


  • bsearch  --> void *bsearch(const void *clau, const void *llista, size_t nitems,
     
                
    size_t tamany, int (*cmpfunc)
    (const void *, const void *));



Gestió de memòries dinàmiques:

  Reserven memòria dinàmica del heap(munto o monticle):
  • calloc   --> void calloc(size_t nmemb, size_t tamany);
  • malloc   --> void *malloc(size_t tamany);
  • realloc  --> void *realloc(void*ptr, size_t tamany);
  Alliberar memòria dinàmica:
  • free     --> void free(void *Ptr);


Estructurar resultats divisións:
  • div      --> div_t div(int num, int denom);
  • ldiv     --> ldiv_t ldiv(long int num, long int denom);


Estructures:
La llibreria stdlib ens aporta 4 estructures.

  • div_t    --> typedef<tipo>div_t;
  • ldiv_t   --> typedef<tipo>ldiv_t;
  • size_t   --> typedef<tipo>size_t;
  • wchar_t  --> typedef<tipo>wchar_t;


Macros:
La llibreria stdlib ens aporta 4 memories macros.

Macros stdlib.h

  • EXIT_FAILURE
  • EXIT_SUCCESS
  • MB_CUR_MAX
  • RAND_MAX


Referencies: 
--> tutorialspoint.com
--> wikipedia.org
--> ConClase.net


Més informació --> ANSI-C