Kas yra C programavimo atminties adresas ir kaip jį rasti?

Kas Yra C Programavimo Atminties Adresas Ir Kaip Ji Rasti



Terminas 'atminties adresas' in C programavimas nurodo vietą kompiuterio atmintyje, kurioje saugomi duomenys. Supaprastintai kalbant, a atminties adresą yra tarsi gatvės adresas, padedantis kompiuteriui greičiau pasiekti saugomą informaciją. Norėdami suprasti, kaip duomenys išsaugomi kompiuterio atmintyje, turite suprasti atminties adresai C. Svarbu suvokti sąvoką atminties adresas C nes tai būtina kuriant veiksmingas programas.

Kas yra atminties adresas?

A atminties adresą yra šešioliktainis skaičius, nurodantis programos duomenų ar nurodymų vietą kompiuterio atmintyje ir gali būti sunkiai suprantamas pradedantiesiems. Tiesiogiai skaityti ir keisti atminties adresai , reikia nuorodų. Norėdami rasti kintamojo adresą, naudokite „&“ ampersandų operatorių. Yra žymeklio kintamasis, kuriame saugomas adresas.

Norint geriau suprasti, labai svarbu suprasti, kaip išdėstyta atmintis atminties adresai . C programavimo atmintį sudaro baitai, o adresai nurodo, kur yra kiekvieno baito pradžia. Kitaip tariant, kiekvienas atminties baitas turi unikalų atminties adresą . Kintamasis, kuriame saugomas skaičius, užima tam tikrą atminties kiekį baitais, ir atminties adresą atitinka pradinį kintamojo baitą.







Kaip rasti atminties adresą?

Yra du būdai, kaip galime rasti a atminties adresą C programavimo kalba.



1 būdas: „&“ operatoriaus naudojimas

„&“ operatorius arba ampersando simbolis C programuojant gali būti naudojamas kintamiesiems rasti atminties adresą . Šis operatorius nuskaito programoje esančio kintamojo adresą. Norėdami geriau suprasti šį metodą, pažiūrėkite į toliau pateiktą pavyzdį.



#include

tarpt pagrindinis ( ) {

tarpt ant vieno = 40 ;

printf ( 'Num reikšmė yra %d \n , ant vieno ) ;

printf ( 'Num atminties adresas yra %p \n , & ant vieno ) ;

grąžinti 0 ;

}

Aukščiau pateiktame kode sveikasis kintamasis 'ant vieno' su reikšme 40 yra apibrėžtas. Vertė 'ant vieno' ir tai atminties adresą tada atspausdinamas naudojant printf() funkcija ir formato specifikacijos %d ir %p atitinkamai. The '&ant vieno' išraiška grąžina atminties adresą iš num, kuris vėliau rodomas naudojant %p formato specifikaciją šešioliktainiu formatu.





Išvestis



Pastaba: Tą patį metodą galima naudoti ieškant slankiojo kablelio arba eilutės tipo kintamųjų adresų programuojant C.

2 būdas: žymeklio naudojimas

C programuojant taip pat galima nustatyti atminties adresą naudojant žymeklį. Atminties srities adresas saugomas tam tikrame duomenų tipe, vadinamame žymekliu C kalba. Jie dažnai naudojami C kalboje valdyti kompiuterio atmintį. Norėdami rasti atminties adresą C programuodami naudodami žymeklį, atlikite toliau nurodytus veiksmus:

1 žingsnis: Pradinis žingsnis nustatant vietą a atminties adresą yra sukurti žymeklio kintamąjį. Norėdami sukurti žymeklio kintamąjį C, prieš kintamojo pavadinimą rašomas žvaigždutė (*) . Žemiau pateiktas kodas paaiškina, kaip sukurti 'ptr' rodyklės kintamasis.

tarpt * ptr ;

Pastaba: Rodiklio kintamajame įrašyto kintamojo vieta atmintyje nurodoma žvaigždutė (*) . Šis procesas vadinamas nuorodų panaikinimu.

2 žingsnis: Tada žymeklio kintamajam bus suteikta vieta atmintyje. The atminties adresą esamo kintamojo priskiriamas žymeklio kintamajam naudojant '&' operatorius. Štai paprastas pavyzdys:

tarpt buvo = 5 ;

tarpt * ptr = & buvo ;

Šis pavyzdys parodo a atminties adresą C, naudojant a rodyklė .

#include

tarpt pagrindinis ( ) {

tarpt numerį = 100 ;

tarpt * ptr = & numerį ;

printf ( 'Atminties numerio kintamojo adresas: %p \n , ptr ) ;

grąžinti 0 ;

}

Aukščiau pateiktas kodas deklaruoja žymeklio kintamąjį ptr nurodyti sveikojo skaičiaus kintamojo adresą numerį kurio vertė 100 printf() tada funkcija naudojama spausdinti atminties adresai skaičiaus, naudojant %p formato specifikatorių, kuris spausdina atminties adresą šešioliktainiu formatu.

Išvestis

Svarbu atsiminti, kad atminties adresą keičiasi priklausomai nuo operacinės sistemos, kurioje veikia kodas. The atminties adresą grąžinamas kiekvienoje sistemoje skirsis, pavyzdžiui, jei identiškas kodas paleistas dviejuose atskiruose kompiuteriuose. Todėl rekomenduojama naudoti santykinius atminties adresus, o ne kodavimą atminties adresai kode.

Išvada

C programuojant, atminties adresai yra labai svarbūs keičiant ir pasiekiant duomenis. Kad programavimas būtų sėkmingas, būtina suprasti, kaip rasti atminties adresai . C programuodami mes naudojame ampersand operatorius (&) ir rodyklė, kad surastumėte atminties adresą . Kaip rodyklės gali būti naudojamos norint tiesiogiai pasiekti ir keisti atminties adresai , jie svarbūs įgyvendinant programas. Programuotojai gali naudoti atminties adresai Norėdami parašyti sėkmingą kodą, nepamiršdami šių pagrindų.