Scrigroup - Documente si articole

     

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


Constante sir

c



+ Font mai mare | - Font mai mic



Constante sir

Constantele sir constau din caractere cuprinse intre ghilimele, ca in faimosul "Hello, worldn". Constantele sir, spre deosebire de altele, au o locatie in memoria calculatorului. Caracterele dintr-un sir sunt stocate in memorie, iar valoarea numerica a constantei este adresa acestei memorii. In plus, compilatorul stocheaza caracterul null '0' la sfarsitul sirului, marcand astfel sfarsitul sau.



In cazul setului de caractere ASCII, constanta sir "0" arata astfel in memorie:

3000

48 (30H)

'0'

0

'0'

iar valoarea constantei este adresa sa din memorie (in exemplul de mai sus valoarea 3000), pe cand valoarea caracterului 0 este 48 sau 30H.

Cea mai scurta constanta sir este sirul null scris drept si este stocat in memorie ca un singur caracter null '0'. De exemplu, daca avem constanta sir "ABC" atunci, la o anumita adresa de memorie vom avea:

Adresa

61

'A'

Adresa+1

62

'B'

Adresa+2

63

'C'

Adresa+3

0

'/0'

Valoarea constantei sir "ABC" va fi Adresa, adica valoarea adresei locatiei in care se stocheaza primul caracter din sir.

Ca o ultima remarca, vom face precizarea ca din punctul de vedere al reprezentarii, constanta caracter 'A', spre exemplu, este diferita de consta sir "A", care se stocheaza in memorie la o anumita adresa si se termina cu caracterul null, deci are alocati doi octeti.

Fiecare constanta sir contine cu un caracter mai mult decat numarul de caractere din sir deoarece aceasta se termina totdeauna cu caracterul 0 care are valoarea 0.

De exemplu, sizeof('asaf') va fi 5.

Tipul unui sir este vector de un numar de caractere a.i. 'asaf' are tipul char[5]. Sirul vid se noteaza prin ' ' si are tipul char[1]. De notat ca, pentru fiecare sir s, strlen(s) == sizeof(s) - 1, deoarece functia strlen() nu numara si terminatorul 0.

In interiorul unui sir se poate folosi conventia de notatie cu . Aceasta face posibila reprezentarea caracterului ghilimele (') si in interiorul unui sir. Cel mai frecvent caracter folosit este caracterul 'n'=newline (NL).

De exemplu, instructiunea:

printf ('beep at end of message007n');

determina scrierea unui mesaj, a caracterului BEL si a caracterului NL. O secventa de forma n intr-un sir nu determina introducerea unui caracter NL in sir, ci este o simpla notatie (n este caracter neafisabil).

Nu este permisa continuarea sirurilor de caractere de pe o linie pe alta.

Atunci cand se include o constanta numerica intr-un sir de caractere utilizand notatia octala sau hexazecimala este recomandat sa se foloseasca 3 cifre pentru numar.

Exemplu:

char v1[] = 'ax0fah0129';//'a' 'x0f' 'a' 'h' '012' '9'

char v2[] = 'axfah 129'; /* 'a' 'xfa' 'h' '12' '9' */

char v3[] = 'axfad127';    /* 'a' 'xfa' 'd' '127' */



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 833
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