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

Cum să faci aritmetică de bază în R-dummies

Cum să faci aritmetică de bază în R-dummies

De operatori aritmetici, astfel încât să puteți utiliza R ca un calculator fantezie dacă apare necesitatea. Cum se utilizează operatorii de bază în R Majoritatea operatorilor aritmetici de bază sunt foarte familiarizați cu programatorii (și cu oricine altcineva care a studiat matematica în școală). Descrierea operatorului ...

Cum se extrage un subset al unui vector în R - dummies

Cum se extrage un subset al unui vector în R - dummies

Utilizați aceleași reguli de indexare pentru vectorii de caractere pe care îl utilizați pentru vectorii numerici (sau pentru vectori de orice tip). Procesul de trimitere la un subset al unui vector prin indexarea elementelor sale se numește și subsetare. Cu alte cuvinte, subsetarea este procesul de extragere a unui subset al unui vector. Pentru a ilustra ...

Cum se face matricea aritmetică în R-dummies

Cum se face matricea aritmetică în R-dummies

ÎN afară de operatorii aritmetici clasici, R conține un set mare de operatori și funcții pentru a efectua un set larg de operații matrice. Multe dintre aceste operațiuni sunt folosite în matematică avansată, astfel încât este posibil să nu aveți nevoie de ele. Unele dintre ele pot veni destul de la îndemână, deși, dacă aveți nevoie să răsturnați datele sau ...

Alegerea editorilor

Top 10 Dificultăți în practica de înțelegere și cum să le depășești - manechine

Top 10 Dificultăți în practica de înțelegere și cum să le depășești - manechine

De practici, mindfulness nevoie de timp pentru a învăța, a înțelege și a încorpora într-o rutină zilnică. Ca și în orice altceva, va avea parte de dificultăți, dar toate pot fi depășite. Găsirea timpului pentru o practică formală de conștientizare Unul dintre cele mai dificile lucruri despre practica de conștientizare este găsirea timpului ...

Depășirea distanței de comunicare cu copiii dvs. autism

Depășirea distanței de comunicare cu copiii dvs. autism

Deficitele de limbă și de comunicare sunt de obicei cele mai grave și aspecte stresante ale autismului. Comunicarea cu succes este o provocare majoră cu care se confruntă multe persoane cu autism. Capacitatea lor de a comunica dramatic afectează cât de bine interacționează social într-o lume non-autistă. Mulți oameni cu autism nu au capacitatea de a cere chiar și un pahar de apă sau ...

Benzodiazepinele și tratamentul tulburărilor bipolare - manechine

Benzodiazepinele și tratamentul tulburărilor bipolare - manechine

Cele mai frecvent utilizate medicamente pur antianchetă utilizate în tratamentul tulburarea bipolară sunt benzodiazepinele (cunoscute și sub numele de anxiolitice sau tranchilizante sau benzos pe scurt). Aceste medicamente încetinesc întregul sistem nervos, reducând astfel agitația și nivelurile de anxietate, ambele putând fi probleme în tulburarea bipolară. Benzoazele par să afecteze un creier ...

Alegerea editorilor

Navigați în Adobe Acrobat Creative Suite 5

Navigați în Adobe Acrobat Creative Suite 5

Acrobat CS5 oferă o varietate de panouri care sunt utile atunci când navigați prin documente PDF. Panourile de navigare sunt afișate în partea stângă a ferestrei Document ca mici pictograme. Faceți clic pe o pictogramă pentru a face panoul său vizibil. De exemplu, dați clic pe pictograma Pagini pentru a afișa reprezentările de dimensiuni miniatură pentru fiecare pagină. În paginile ...

Restricționa Cine poate edita sau imprima documente PDF - dummies

Restricționa Cine poate edita sau imprima documente PDF - dummies

Adobe Acrobat Creative Suite 5 cu capacitatea de a restricționa cine poate edita sau imprima documentele PDF pe care le distribuiți. Urmați acești pași:

Ecran Prindeți o secțiune a unui fișier PDF - dummies

Ecran Prindeți o secțiune a unui fișier PDF - dummies

Puteți utiliza instrumentul Snapshot în Adobe Acrobat CS5 pentru a selecta textul și imaginile și a crea o imagine a unei anumite zone dintr-un fișier PDF. Rezultatul este denumit în mod obișnuit ca o apucare pe ecran a unei secțiuni dintr-un fișier PDF. Rezultatul este o imagine și textul dvs. nu este ...