Mis on mäluaadress C-programmeerimises ja kuidas seda leida?

Mis On Maluaadress C Programmeerimises Ja Kuidas Seda Leida



Termin 'mälu aadress' sisse C programmeerimine viitab positsioonile arvuti mälus, kus andmeid hoitakse. Lihtsustatult öeldes a mälu aadress on nagu aadress, mis aitab arvutil salvestatud teabele kiiremini juurde pääseda. Et mõista, kuidas andmeid arvuti mällu salvestatakse, peate mõistma mälu aadressid in C. Oluline on mõista mõistet mälu aadress C-s kuna see on tõhusate programmide loomisel hädavajalik.

Mis on mäluaadress?

A mälu aadress on kuueteistkümnendnumber, mis tuvastab programmi andmete või juhiste asukoha arvuti mälus ja mida algajatele võib olla raske mõista. Otse lugemiseks ja muutmiseks mälu aadressid , näpunäiteid on vaja. Muutuja aadressi leidmiseks kasutage ja-operaatorit. Seal on kursori muutuja, kus aadressi hoitakse.

Mälu paigutuse mõistmine on mälu paremaks mõistmiseks ülioluline mälu aadressid . C-programmeerimises moodustavad baidid mälu ja aadressid näitavad, kus iga baidi algus asub. Teisisõnu öeldes on igal mälus oleval baidil unikaalne mälu aadress . Muutuja, mis salvestab numbri, võtab teatud hulga mäluruumi baitides ja mälu aadress vastab muutuja algbaidile.







Kuidas leida mäluaadressi?

Meil on kaks võimalust leida a mälu aadress C programmeerimiskeeles.



1. meetod: operaatori „&” kasutamine

Muutuja leidmiseks saab kasutada C-programmeerimise operaatorit '&' või ampersandi sümbolit mälu aadress . See operaator otsib programmis oleva muutuja aadressi. Selle meetodi paremaks mõistmiseks vaadake allolevat näidet.



#include

int peamine ( ) {

int ühel = 40 ;

printf ( 'Num väärtus on %d \n ' , ühel ) ;

printf ( Num mäluaadress on %p \n ' , & ühel ) ;

tagasi 0 ;

}

Ülaltoodud koodis täisarvuline muutuja 'ühel' väärtusega 40 on määratletud. Väärtus 'ühel' ja selle mälu aadress seejärel prinditakse kasutades printf() funktsioon ja vorminguspetsifikaatorid vastavalt %d ja %p. The '&ühel' avaldis tagastab mälu aadress numbrist, mida näidatakse seejärel kuueteistkümnendvormingus %p vormingu spetsifikaatori abil.





Väljund



Märge: Sama meetodit saab kasutada ka ujukoma- või string-tüüpi muutujate aadressi leidmisel C-programmeerimises.

2. meetod: kursori kasutamine

C-programmeerimises on võimalik ka määrata mälu aadress kasutades kursorit. Mälupiirkonna aadress on salvestatud kindlasse andmetüüpi, mida nimetatakse C-keeles osutiks. Neid kasutatakse sageli keeles C arvuti mäluga manipuleerimiseks. Et leida mälu aadress C-programmeerimisel, kasutades kursorit, järgige alltoodud samme:

Samm 1: Esimene samm asukoha määramisel a mälu aadress on luua kursori muutuja. C-s osutimuutuja loomiseks eelneb muutuja nimele tähis tärn (*) . Allolev kood selgitab, kuidas luua 'ptr' osuti muutuja.

int * ptr ;

Märge: Kursormuutujasse salvestatud muutuja asukohta mälus tähistab tärn (*) . Seda protsessi nimetatakse viitamise tühistamiseks.

2. samm: Seejärel määratakse kursori muutujale asukoht mälus. The mälu aadress olemasoleva muutuja väärtus määratakse kursori muutujale, kasutades '&' operaator. Siin on lihtne näide:

int oli = 5 ;

int * ptr = & oli ;

Järgmine näide demonstreerib a mälu aadress C-s, kasutades a osuti .

#include

int peamine ( ) {

int number = 100 ;

int * ptr = & number ;

printf ( 'Numbrimuutuja mälu aadress: %p \n ' , ptr ) ;

tagasi 0 ;

}

Ülaltoodud kood deklareerib osuti muutuja ptr osutada täisarvulise muutuja aadressile number väärtusega 100 printf() Seejärel kasutatakse funktsiooni printimiseks mälu aadressid arvust, kasutades vormingu %p spetsifikaatorit, mis prindib mäluaadressi kuueteistkümnendvormingus.

Väljund

Oluline on meeles pidada, et mälu aadress muutub sõltuvalt operatsioonisüsteemist, millel kood töötab. The mälu aadress igas süsteemis tagastatavad andmed erinevad näiteks siis, kui identset koodi käivitatakse kahes erinevas arvutis. Seega on soovitatav kasutada suhtelisi mäluaadresse, mitte kõvakodeerida mälu aadressid koodis.

Järeldus

C-programmeerimises mälu aadressid on andmete muutmiseks ja neile juurdepääsuks üliolulised. Programmeerimise õnnestumiseks on oluline mõista, kuidas leida mälu aadressid . C-programmeerimisel kasutame ja-operaator (&) ja osuti leidmiseks mälu aadress . Osutajatena võib kasutada otse juurdepääsuks ja muutmiseks mälu aadressid , on need programmide rakendamiseks olulised. Programmeerijad saavad kasutada mälu aadressid eduka koodi kirjutamiseks neid põhialuseid silmas pidades.