Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Initializarea pointerilor

c



+ Font mai mare | - Font mai mic



Initializarea pointerilor

Secventa:

char *p;



char s[] = 'Hello world n ';

p = s; /* p indica spre s */

este echivalenta cu:

char *p = 'Hello world n';

Intr-un program, p din ultima declaratie poate fi utilizat ca orice alt sir. Astfel, programul urmator este corect:

# include <stdio.h>

char *p = ' Hello world n ';

void main (void)

Observatie: Neinitializarea pointerilor sau initializarea gresita a acestora, poate duce la erori care, in cazul programelor de dimensiuni mari, sunt foarte greu de depistat si pot avea urmari catastrofale.

Exemplu: Consideram programul:

# include <stdio.h>

void main(void)

Acest program atribuie valoarea 10 anumitor locatii de memorie necunoscute. Programul nu va oferi niciodata o valoare pointerului p dar va tipari valoarea lui x.

Exemplu: Consideram acum urmatorul program:

# include <stdio.h>

void main (void)

Functia printf() nu va afisa niciodata valoarea lui x (care este 10), dar va tipari o valoare necunoscuta. Aceasta datorita atribuirii gresite:

p = x;

Instructiunea atribuie valoarea 10 pointerului p, care se presupune ca reprezinta o adresa si nu o valoare. Pentru a corecta programul, trebuie scris: p = &x;



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 759
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved