Acasă Finanțe personale Cum se verifică poziția unei variabile în programarea C - dummies

Cum se verifică poziția unei variabile în programarea C - dummies

Video: Citirea erorilor fara tester 2024

Video: Citirea erorilor fara tester 2024
Anonim

În programarea C, tipul și dimensiunea variabilei sunt descoperite mai întâi prin declararea acelei variabile ca fiind un tip specific, dar și prin utilizarea dimensiunii cuvântului cheie. A doua descriere a unei variabile, conținutul acesteia, poate fi obținută prin citirea valorii variabilei folosind funcția corespunzătoare limbii C.

A treia descriere a unei variabile este localizarea acesteia în memorie. Obțineți această informație utilizând operatorul & și substituentul% p, așa cum se arată în V variabilă, pentru ce ești tu?

O VARIABILE, DE CE ARTE?

#include int principal () {char c = 'c'; int i = 123; float f = 98,6; dublu d = 6. 022E23; printf ("Adresa" c "% pn", & c); printf ("Adresa" i "% pn", & i); printf ("Adresa 'f'% pn ', & f); printf ("Adresa d '% pn", & d); retur (0);}

Când operatorul & prefixează o variabilă, returnează o valoare reprezentând adresa , a variabilei sau locația acesteia în memorie. Această valoare este exprimată în hexazecimal. Pentru a vedea acea valoare, se folosește caracterul de conversie% p, așa cum se arată în O variabilă, pentru ce ești tu?

Exercițiul 1 : Introduceți codul sursă de la O Variabila, De ce sunteți tu? în editorul tău. Construiți și alergați.

Rezultatele obținute de programul obținut în Exercițiul 1 sunt unice, nu numai pentru fiecare calculator, ci și potențial, de fiecare dată când programul este rulat.

Adresa 'c' 0x7fff5fbff8ff Adresa 'i' 0x7fff5fbff8f8 Adresa 'f' 0x7fff5fbff8f4 Adresa 'd' 0x7fff5fbff8e8

Variabila c este stocată în memorie la locația 0x7fff5fbff8ff -, 734, 799, 804, 671. Ambele valori sunt, desigur, triviale; computerul ține evidența locațiilor de memorie, ceea ce este foarte bine pentru mine.

Această ilustrație arată modul în care acele adrese sunt hărțuite în memorie.

Elementele individuale de matrice au și locațiile de memorie, așa cum se arată în Locațiile de memorie într-o Array on Line 10. Operatorul & prefixează variabila elementului specific, tusind o adresă. Caracterul de conversie% p din funcția printf () afișează adresa.

LOCAȚII DE MEMORIE ÎNTR-O ARRAY

#include int main () {char hello [] = "Bună ziua!"; int i = 0; în timp ce (hello [i]) {printf ("% c la% pn", salut [i], & hello [i]); i ++;} retur (0);}

Exercițiul 2 : Creați un nou proiect utilizând codul sursă prezentat în Locațiile de memorie într-o matrice. Construiți și alergați.

Din nou, ieșirea locației de memorie este unică pe fiecare computer.

H la 0x7fff5fbff8f0 e la 0x7fff5fbff8f1 l la 0x7fff5fbff8f2 l la 0x7fff5fbff8f3 o la 0x7fff5fbff8f4!la 0x7fff5fbff8f5

Spre deosebire de exemplul din Exercițiul 1, adresele generate de Exercițiul 2 sunt contigue în memorie, un octet după altul.

Exercițiul 3 : Codificați un program pentru a afișa cinci valori într-o matrice int împreună cu adresa de memorie a fiecărui element. Puteți utiliza locațiile de memorie într-o matrice pentru a vă inspira, deși o buclă pentru loialitate ar putea fi mai ușor de codat.

  • Apropo, operatorul de localizare a memoriei ar trebui să fie familiarizat cu dvs. Este folosit de funcția scanf (), care necesită o adresă a variabilei, nu variabila în sine. Aceasta deoarece scanf () plasează direct o valoare la o locație de memorie. Cum? Folosind indicii, desigur!

  • Operatorul & este de asemenea operatorul AND; cu toate acestea, compilatorul este suficient de inteligent pentru a spune când & prefixează o variabilă și când & face parte dintr-o ecuație matematică binară.

Cum se verifică poziția unei variabile în programarea C - dummies

Alegerea editorilor

Administrator de rețea: Zone de căutare inversă - dummies

Administrator de rețea: Zone de căutare inversă - dummies

Interogări DNS obișnuite sunt interogări de căutare înainte corespunde unui nume de domeniu complet calificat. O căutare inversă este opusul unei căutări forward: returnează numele de domeniu complet calificat al unei gazde pe baza adresei sale IP. Căutările inverse sunt posibile din cauza unui domeniu special numit ...

Rețea Elemente de bază: Clienți și servere - manechine

Rețea Elemente de bază: Clienți și servere - manechine

Computerul de rețea care conține hard disk-urile, imprimantele și alte resurse care sunt partajate cu alte calculatoare de rețea se numește un server. Acest termen vine în repetate rânduri, deci trebuie să-l amintiți. Scrie-o pe spatele mâinii tale stângi. Orice computer care nu este un server este numit client. Aveți ...

Retea Bazele: Poduri - dummies

Retea Bazele: Poduri - dummies

O punte este un dispozitiv care conecteaza doua retele astfel incat sa actioneze ca si cum ar fi o rețea. Podurile sunt utilizate pentru a împărți o rețea mare în două rețele mai mici din motive de performanță. Vă puteți gândi la un pod ca pe un repetor inteligent. Repetoarele ascultă semnale care coboară pe un cablu de rețea, amplifică ...

Alegerea editorilor

ÎMprumuta și tweak idei de la alte comunități online - dummies

ÎMprumuta și tweak idei de la alte comunități online - dummies

, Mai degrabă decât să ia ideile altcuiva complet pentru dvs. comunitate online, încercați să riffați pe aceeași idee, dar nu atât de mult încât este evident că nu sunteți creierul din spatele brainstorming-ului. Idei sunt acolo pentru a lua, dar nu ar fi mai degrabă văzute ca cineva inovatoare, nu cineva care scours pe web ...

Branding Blogul tău

Branding Blogul tău

Branding blog-ul tău merge mult spre a face dacă este ușor de recunoscut pentru cititorii tăi. Când vedeți un punct roșu în interiorul unui cerc roșu, ce magazin vine în minte? Ce zici de acele arcuri de aur? Un nume de marcă apare în minte atunci când vedeți simbolul swoosh? La fel ca magazinele populare, restaurantele și încălțămintea ...

Construiți un Blog Mama care este Sellable - dummies

Construiți un Blog Mama care este Sellable - dummies

Dacă obiectivul pe termen lung este de a vinde blogul dvs. ar trebui să o construiască cu acest scop în minte. Evitați asocierea prea intensă a blogului cu marca dvs. personală. Un blog care poate fi valoros cu orice scriitor la cârma trebuie să îndeplinească majoritatea, dacă nu toate, următoarele criterii: Blogul este concentrat ...

Alegerea editorilor

Cum să creați o nouă campanie de anunțuri LinkedIn - dummies

Cum să creați o nouă campanie de anunțuri LinkedIn - dummies

LinkedIn oferă servicii de publicitate pentru afacerea dvs. Dacă vă decideți să utilizați LinkedIn ca instrument de marketing, va trebui doar să obțineți o nouă campanie de anunțuri în lucrări. Când sunteți gata să începeți o nouă campanie, urmați acești pași:

Opțiuni de filtrare pentru anunțul dvs. LinkedIn - manechine

Opțiuni de filtrare pentru anunțul dvs. LinkedIn - manechine

Ce opțiuni de filtrare aveți pentru anunțul dvs. LinkedIn? Alte rețele de publicitate vă permit să filtrați publicul vizat de câteva atribute cunoscute ale persoanei care vă va vedea anunțul, sexul și locația membrilor din public. LinkedIn vă permite să faceți un pas mai departe permițându-vă ...

Oferind și primind viziuni pe LinkedIn - manechine

Oferind și primind viziuni pe LinkedIn - manechine

Deși mulți oameni cred că "Nu este ceea ce știi, știi, "care este unul dintre principalele motive pentru care LinkedIn este atât de valoros, mulți oameni (recrutorii, angajații, directorii executivi, investitorii și altele) sunt foarte interesați de ceea ce știi. În mod logic, oamenii care vă cunosc cel mai bine sunt oamenii din rețeaua dvs., care ...