Овај чланак пружа водич за проналажење меморијске адресе променљиве у Ц++.
Како одредити меморијску адресу променљиве у Ц++
У Ц++ постоје две методе за одређивање меморијске адресе променљиве:
Метод 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 и стр, са типовима података инт, флоат и стринг, респективно. Адреса променљиве се одређује помоћу показивача заједно са именом променљиве. Треба напоменути да је излаз који даје адресу променљиве насумично генерисан број.
Закључак
Када декларишемо променљиву било ког типа података у Ц++, оперативни систем јој додељује меморијску локацију. Ова меморијска локација је произвољан број који не може бити негативан и познат је као адреса променљиве. Познавање меморијске адресе променљиве може бити корисно у одређеним програмским сценаријима. У овом чланку смо илустровали две методе, адреса оператера(&) и променљиве показивача , за одређивање меморијске адресе променљиве у Ц++ заједно са једноставним примерима.