Шта је меморијска адреса у Ц++ и како је пронаћи?

Sta Je Memorijska Adresa U C I Kako Je Pronaci



У Ц++, адреса меморије је локација променљиве у РАМ меморији где се подаци чувају. РАМ (Рандом Аццесс Мемори) је врста рачунарске меморије која се може читати и модификовати у било ком редоследу и често се користи за складиштење оперативних података и машинских кодова. У нашим програмима, свака променљива се чува у РАМ-у и заузима простор у меморији. Ове варијабле имају одређену меморијску локацију, а свака од њих има адресу која се може преузети преко амперсанд (&) оператор . Овај оператор представља меморијску адресу променљиве и користан је за приступ и манипулисање подацима ускладиштеним на тој локацији.

Овај чланак пружа водич за проналажење меморијске адресе променљиве у Ц++.

Како одредити меморијску адресу променљиве у Ц++

У Ц++ постоје две методе за одређивање меморијске адресе променљиве:







Метод 1: Пронађите меморијску адресу променљиве користећи „адресу“ и оператора

Када се од нас тражи да одредимо меморијску адресу променљиве, можемо да користимо „адреса оператера“ (&) , који враћа адресу променљиве. Да бисте приказали адресу променљиве, користите '&' заједно са именом променљиве.



Хајде да користимо пример програма да то демонстрирамо:



#инцлуде <иостреам>

користећи простор имена стд ;

инт главни ( )

{

инт нум1 ;

пловак нум2 ;

стринг стр ;

цоут << 'Молимо унесите целобројну вредност да бисте пронашли њену меморијску адресу: ' ;

једење >> нум1 ;

цоут << 'Унети број је: ' << нум1 << ендл ;

цоут << 'Адреса' << нум1 << ' је: ' <<& нум1 << ендл ;

цоут << 'Молимо унесите децималну вредност да бисте пронашли његову меморијску адресу: ' ;

једење >> нум2 ;

цоут << „Унети број је:“ << нум2 << ендл ;

цоут << 'Адреса' << нум2 << 'је:' <<& нум2 << ендл ;

цоут << 'Унесите стринг да бисте пронашли његову меморијску адресу: ' ;

једење >> стр ;

за ( инт и = 0 ; и < стр. дужина ( ) ; ++ и )

цоут << 'Адреса' << стр [ и ] << 'је:' << ( празнина * ) & стр [ и ] << ендл ;

повратак 0 ;

}

Наше ознаке променљивих у горњем програму су нум1, нум2 и стр, са типовима података инт, флоат и стринг, респективно. Оператор '&' се користи са именом променљиве за проналажење њене меморијске адресе. Треба напоменути да је излаз који даје адресу променљиве насумично генерисан број.





Метод 2: Пронађите меморијску адресу променљиве помоћу показивача

У Ц++, променљиве адресе се такође могу добити помоћу показивача. Променљива која садржи адресу друге променљиве назива се показивачем. Показивач служи као и свака друга променљива која мора бити специфицирана пре него што се може користити. Показивач је дефинисан у Ц++ са '*' оператор, понекад познат као оператор звездица.



Погледајмо пример програма за проналажење меморијске адресе помоћу показивача:

#инцлуде <иостреам>

#инцлуде <стринг>

користећи простор имена стд ;

инт главни ( ) {

инт нум1 ;

инт * птр_нум1 = & нум1 ;

пловак нум2 ;

пловак * птр_нум2 = & нум2 ;

стринг стр ;

цоут << 'Молимо унесите целобројну вредност да бисте пронашли њену меморијску адресу: ' ;

једење >> нум1 ;

цоут << 'Унети број је: ' << нум1 << ендл ;

цоут << 'Адреса' << нум1 << ' је: ' << птр_нум1 << ендл ;

цоут << 'Молимо унесите децималну вредност да бисте пронашли његову меморијску адресу: ' ;

једење >> нум2 ;

цоут << 'Унети број је: ' << нум2 << ендл ;

цоут << 'Адреса' << нум2 << ' је: ' << птр_нум2 << ендл ;

цоут << 'Унесите стринг да бисте пронашли његову меморијску адресу: ' ;

једење >> стр ;

за ( инт и = 0 ; и < стр. дужина ( ) ; и ++ ) {

цоут << 'Адреса' << стр [ и ] << ' је: ' << ( празнина * ) & стр [ и ] << ендл ;

}

повратак 0 ;

}

Ознаке променљивих у овом програму су нум1, нум2 и стр, са типовима података инт, флоат и стринг, респективно. Адреса променљиве се одређује помоћу показивача заједно са именом променљиве. Треба напоменути да је излаз који даје адресу променљиве насумично генерисан број.

Закључак

Када декларишемо променљиву било ког типа података у Ц++, оперативни систем јој додељује меморијску локацију. Ова меморијска локација је произвољан број који не може бити негативан и познат је као адреса променљиве. Познавање меморијске адресе променљиве може бити корисно у одређеним програмским сценаријима. У овом чланку смо илустровали две методе, адреса оператера(&) и променљиве показивача , за одређивање меморијске адресе променљиве у Ц++ заједно са једноставним примерима.