Academic Tutorials



English | French | Portugese | Dutch | Italian
Google

in linea

Domestico Codici sorgente E-Libri Trasferimenti dal sistema centrale verso i satelliti Metterseli in contatto con Circa noi

HTML Tutorials
HTML Tutorial
XHTML Tutorial
CSS Tutorial
TCP/IP Tutorial
CSS 1.0
CSS 2.0
HLML
XML Tutorials
XML Tutorial
XSL Tutorial
XSLT Tutorial
DTD Tutorial
Schema Tutorial
XForms Tutorial
XSL-FO Tutorial
XML DOM Tutorial
XLink Tutorial
XQuery Tutorial
XPath Tutorial
XPointer Tutorial
RDF Tutorial
SOAP Tutorial
WSDL Tutorial
RSS Tutorial
WAP Tutorial
Web Services Tutorial
Browser Scripting
JavaScript Tutorial
VBScript Tutorial
DHTML Tutorial
HTML DOM Tutorial
WMLScript Tutorial
E4X Tutorial
Server Scripting
ASP Tutorial
PERL Tutorial
SQL Tutorial
ADO Tutorial
CVS
Python
Apple Script
PL/SQL Tutorial
SQL Server
PHP
.NET (dotnet)
Microsoft.Net
ASP.Net
.Net Mobile
C# : C Sharp
ADO.NET
VB.NET
VC++
Multimedia
SVG Tutorial
Flash Tutorial
Media Tutorial
SMIL Tutorial
Photoshop Tutorial
Gimp Tutorial
Matlab
Gnuplot Programming
GIF Animation Tutorial
Scientific Visualization Tutorial
Graphics
Web Building
Web Browsers
Web Hosting
W3C Tutorial
Web Building
Web Quality
Web Semantic
Web Careers
Weblogic Tutorial
SEO
Web Site Hosting
Domain Name
Java Tutorials
Java Tutorial
JSP Tutorial
Servlets Tutorial
Struts Tutorial
EJB Tutorial
JMS Tutorial
JMX Tutorial
Eclipse
J2ME
JBOSS
Programming Langauges
C Tutorial
C++ Tutorial
Visual Basic Tutorial
Data Structures Using C
Cobol
Assembly Language
Mainframe
Forth Programming
Lisp Programming
Pascal
Delphi
Fortran
OOPs
Data Warehousing
CGI Programming
Emacs Tutorial
Gnome
ILU
Soft Skills
Communication Skills
Time Management
Project Management
Team Work
Leadership Skills
Corporate Communication
Negotiation Skills
Database Tutorials
Oracle
MySQL
Operating System
BSD
Symbian
Unix
Internet
IP-Masquerading
IPC
MIDI
Software Testing
Testing
Firewalls
SAP Module
ERP
ABAP
Business Warehousing
SAP Basis
Material Management
Sales & Distribution
Human Resource
Netweaver
Customer Relationship Management
Production and Planning
Networking Programming
Corba Tutorial
Networking Tutorial
Microsoft Office
Microsoft Word
Microsoft Outlook
Microsoft PowerPoint
Microsoft Publisher
Microsoft Excel
Microsoft Front Page
Microsoft InfoPath
Microsoft Access
Accounting
Financial Accounting
Managerial Accounting


Ripartizione di memoria dinamica in C
Previous Next




Che cosa � ripartizione di memoria dinamica?

  • La ripartizione di memoria dinamica � definita dinamicamente come la ripartizione di spazio per le variabili a tempo di esecuzione.


  • � dispendioso quando riguardo al tipo strutture di Array assegnare cos� tanto lo spazio quando � dichiarato



  • Cinque funzione dell'ANSI Standartd usata nella ripartizione di memoria dinamica

    L'ANSI C fornisce cinque funzioni standard che li aiuteranno ad assegnare la memoria sul mucchio che sono come segue:

    1. sizeof()
    2. malloc()
    3. calloc()
    4. realloc()
    5. free()




    La seguente tabella descrive le cinque funzioni standard differenti che gli aiuti voi assegnano la memoria dinamicamente
    Function Task
    sizeof The sizeof() function returns the memory size of the requested variable
    malloc Allocates memory requests size of bytes and returns a pointer to the Ist byte of allocated space
    calloc Allocates space for an array of elements initializes them to zero and returns a pointer to the memory
    free Frees previously allocated space
    realloc Modifies the size of previously allocated space.



    sizeof()

    La funzione del sizeof() restituisce la capacit� di memoria della variabile chiesta. Questa chiamata dovrebbe essere usata nella congiunzione con la chiamata di funzione del calloc (), di modo che soltanto la memoria necessaria � assegnata, piuttosto che in un di misura stabilita. Considerare quanto segue,

    struct date {
    int hour, minute, second;
    };

    int x;

    x = sizeof( struct date );



    malloc()

    Una memoria di mf del blocco pu� essere assegnata usando la funzione denominata malloc. La funzione del malloc riserva un blocco della memoria del formato specificato e restituisce un indicatore di tipo vuoto. Ci� significa che possiamo assegnarli a qualunque tipo dell'indicatore. Prende la seguente forma:

    ptr=(cast-type*)malloc(byte-size);

    lo stampante � un indicatore di tipo lanci-tipo che il malloc restituisce un indicatore (di tipo fuso) ad una zona della memoria con il byte-formato di formato. Ci� che segue � l'esempio di usando la funzione del malloc

    x=(int*)malloc(100*sizeof(int));



    calloc()

    Calloc � un'altra funzione di ripartizione di memoria che � usata normalmente per chiedere i blocchi multipli di immagazzinaggio ciascuno dello stesso formato ed allora regola tutti i byte a zero. La forma generale di calloc �:

    ptr=(cast-type*) calloc(n,elem-size);

    La suddetta dichiarazione assegna lo spazio attiguo per i blocchetti di n ogni formato dei byte di formato degli elementi. Tutti i byte sono inizializzati a zero e un indicatore al primo byte della regione assegnata � restituito. Se ci non � abbastanza spazio un indicatore nullo inoltre � restituito.




    realloc()

    La memoria assegnata usando il calloc o il malloc potrebbe essere insufficiente o eccesso a volte nelle entrambe situazioni che possiamo cambiare la capacit� di memoria gi� assegnata con l'aiuto della funzione denominata realloc. Questo processo � denominato lo nuovo stanziamento della memoria. La dichiarazione generale di nuovo stanziamento della memoria �:

    ptr=realloc(ptr,newsize);



    free()

    Compilare l'immagazzinaggio di tempo di una variabile � assegnato e liberato dal sistema in conformit� con il relativo codice categoria di immagazzinaggio. Con la ripartizione runtime dinamica, � la nostra responsabilit� di liberare lo spazio quando non � richiesto affatto. Quando l'immagazzinaggio � limitato, il rilascio dello spazio di immagazzinaggio diventa importante. Quando pi� non abbiamo bisogno dei dati che memorizziamo in un blocco della memoria e non intendiamo usare che il blocco per memorizzare qualunque altre informazioni, usando la funzione libera, noi pu� liberare quel blocco della memoria per uso futuro.

    free(ptr);

    lo stampante � un indicatore che � stato generato usando il calloc o il malloc.




    Il seguente programma illustra lo nuovo stanziamento della memoria usando il realloc()e il malloc()
    /*Example program for reallocation*/

    #include< stdio.h >
    #include< stdlib.h >
    define NULL 0
    main()
    {
    char *buffer;
    /*Allocating memory*/
    if((buffer=(char *) malloc(10))==NULL)
    {
    printf("Malloc failed\n");
    exit(1);
    }
    printf("Buffer of size %d created \n",_msize(buffer));
    strcpy(buffer,Bangalore);
    printf(\nBuffer contains:%s\n,buffer);
    /*Reallocation*/
    if((buffer=(char *)realloc(buffer,15))==NULL)
    {
    printf("Reallocation failed\n");
    exit(1);
    }
    printf("\nBuffer size modified".\n);
    printf("\nBuffer still contains: %s\n",buffer);
    strcpy(buffer,Mysore);
    printf("\nBuffer now contains:%s\n",buffer);
    /*freeing memory*/
    free(buffer);
    }




    Previous Next

    Keywords: Dynamic Memory Allocation in C, dynamic memory allocation in c++, c arrays, c tutorial, c array, void c, c syntax, unix memory, value allocation, c language, return c, memory type, dynamic example, dynamic algorithm, dynamic tutorial, c example, c algorithm, variable c, c type, c program, memory size, unix c


    HTML Quizes
    HTML Quiz
    XHTML Quiz
    CSS Quiz
    TCP/IP Quiz
    CSS 1.0 Quiz
    CSS 2.0 Quiz
    HLML Quiz
    XML Quizes
    XML Quiz
    XSL Quiz
    XSLT Quiz
    DTD Quiz
    Schema Quiz
    XForms Quiz
    XSL-FO Quiz
    XML DOM Quiz
    XLink Quiz
    XQuery Quiz
    XPath Quiz
    XPointer Quiz
    RDF Quiz
    SOAP Quiz
    WSDL Quiz
    RSS Quiz
    WAP Quiz
    Web Services Quiz
    Browser Scripting Quizes
    JavaScript Quiz
    VBScript Quiz
    DHTML Quiz
    HTML DOM Quiz
    WMLScript Quiz
    E4X Quiz
    Server Scripting Quizes
    ASP Quiz
    PERL Quiz
    SQL Quiz
    ADO Quiz
    CVS Quiz
    Python Quiz
    Apple Script Quiz
    PL/SQL Quiz
    SQL Server Quiz
    PHP Quiz
    .NET (dotnet) Quizes
    Microsoft.Net Quiz
    ASP.Net Quiz
    .Net Mobile Quiz
    C# : C Sharp Quiz
    ADO.NET Quiz
    VB.NET Quiz
    VC++ Quiz
    Multimedia Quizes
    SVG Quiz
    Flash Quiz
    Media Quiz
    SMIL Quiz
    Photoshop Quiz
    Gimp Quiz
    Matlab Quiz
    Gnuplot Programming Quiz
    GIF Animation Quiz
    Scientific Visualization Quiz
    Graphics Quiz
    Web Building  Quizes
    Web Browsers Quiz
    Web Hosting Quiz
    W3C Quiz
    Web Building Quiz
    Web Quality Quiz
    Web Semantic Quiz
    Web Careers Quiz
    Weblogic Quiz
    SEO Quiz
    Web Site Hosting Quiz
    Domain Name Quiz
    Java Quizes
    Java Quiz
    JSP Quiz
    Servlets Quiz
    Struts Quiz
    EJB Quiz
    JMS Quiz
    JMX Quiz
    Eclipse Quiz
    J2ME Quiz
    JBOSS Quiz
    Programming Langauges Quizes
    C Quiz
    C++ Quiz
    Visual Basic Quiz
    Data Structures Using C Quiz
    Cobol Quiz
    Assembly Language Quiz
    Mainframe Quiz
    Forth Programming Quiz
    Lisp Programming Quiz
    Pascal Quiz
    Delphi Quiz
    Fortran Quiz
    OOPs Quiz
    Data Warehousing Quiz
    CGI Programming Quiz
    Emacs Quiz
    Gnome Quiz
    ILU Quiz
    Soft Skills Quizes
    Communication Skills Quiz
    Time Management Quiz
    Project Management Quiz
    Team Work Quiz
    Leadership Skills Quiz
    Corporate Communication Quiz
    Negotiation Skills Quiz
    Database Quizes
    Oracle Quiz
    MySQL Quiz
    Operating System Quizes
    BSD Quiz
    Symbian Quiz
    Unix Quiz
    Internet Quiz
    IP-Masquerading Quiz
    IPC Quiz
    MIDI Quiz
    Software Testing Quizes
    Testing Quiz
    Firewalls Quiz
    SAP Module Quizes
    ERP Quiz
    ABAP Quiz
    Business Warehousing Quiz
    SAP Basis Quiz
    Material Management Quiz
    Sales & Distribution Quiz
    Human Resource Quiz
    Netweaver Quiz
    Customer Relationship Management Quiz
    Production and Planning Quiz
    Networking Programming Quizes
    Corba Quiz
    Networking Quiz
    Microsoft Office Quizes
    Microsoft Word Quiz
    Microsoft Outlook Quiz
    Microsoft PowerPoint Quiz
    Microsoft Publisher Quiz
    Microsoft Excel Quiz
    Microsoft Front Page Quiz
    Microsoft InfoPath Quiz
    Microsoft Access Quiz
    Accounting Quizes
    Financial Accounting Quiz
    Managerial Accounting Quiz

    Privacy Policy
    Copyright � 2003-2024 Vyom Technosoft Pvt. Ltd., All Rights Reserved.