Какво е адрес на паметта в C++ и как да го намерите?

Kakvo E Adres Na Pametta V C I Kak Da Go Namerite



В C++ адресът на паметта е местоположението на променлива в RAM, където се съхраняват данните. RAM (памет с произволен достъп) е вид компютърна памет, която може да се чете, както и да се модифицира във всяка последователност и често се използва за съхраняване на работни данни и машинни кодове. В нашите програми всяка променлива се съхранява в RAM и заема място в паметта. Тези променливи имат специфично местоположение в паметта и всяка от тях има адрес, който може да бъде извлечен чрез амперсанд (&) оператор . Този оператор представлява адреса на паметта на променлива и е полезен за достъп и манипулиране на данните, съхранени на това място.

Тази статия предоставя ръководство за намиране на адреса на паметта на променлива в C++.

Как да определите адреса на паметта на променлива в C++

В C++ има два метода за определяне на адреса на паметта на променлива:







Метод 1: Намерете адреса на паметта на променливата с помощта на „адрес на“ и оператор

Когато се изисква да определим адреса на паметта на променлива, можем да използваме „адрес на оператор“ (&) , който връща адреса на променливата. За да покажете адреса на променлива, използвайте '&' заедно с името на променливата.



Нека използваме примерна програма, за да демонстрираме това:



#include

използване на пространство от имена std ;

вътр основен ( )

{

вътр номер1 ;

плавам бр.2 ;

низ str ;

cout << 'Моля, въведете цяло число, за да намерите неговия адрес в паметта: ' ;

храня се >> номер1 ;

cout << 'Въведеното число е: ' << номер1 << endl ;

cout << „Адрес на“ << номер1 << ' е: ' <<& номер1 << endl ;

cout << 'Моля, въведете десетична стойност, за да намерите неговия адрес в паметта: ' ;

храня се >> бр.2 ;

cout << 'Въведеното число е:' << бр.2 << endl ;

cout << „Адрес на“ << бр.2 << 'е:' <<& бр.2 << endl ;

cout << 'Моля, въведете низ, за ​​да намерите неговия адрес в паметта: ' ;

храня се >> ул ;

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

cout << „Адрес на“ << ул [ аз ] << 'е:' << ( невалиден * ) и ул [ аз ] << endl ;

връщане 0 ;

}

Нашите етикети на променливи в горната програма са num1, num2 и str, с типове данни съответно int, float и string. Операторът „&“ се използва с името на променливата, за да се намери нейният адрес в паметта. Трябва да се отбележи, че изходът, който предоставя адреса на променливата, е произволно генерирано число.





Метод 2: Намерете адреса на паметта на променлива с помощта на указател

В C++ адресите на променливи могат да бъдат получени и с помощта на указатели. Променлива, която съдържа адреса на друга променлива, се нарича указател. Указателят служи като всяка друга променлива, която трябва да бъде специфицирана, преди да може да бъде използвана. Указателят е дефиниран в C++ с '*' оператор, понякога известен като оператор звездичка.



Нека разгледаме примерна програма за намиране на адрес на паметта с помощта на указател:

#include

#include <низ>

използване на пространство от имена std ;

вътр основен ( ) {

вътр номер1 ;

вътр * ptr_num1 = и номер1 ;

плавам бр.2 ;

плавам * ptr_num2 = и бр.2 ;

низ str ;

cout << 'Моля, въведете цяло число, за да намерите неговия адрес в паметта: ' ;

храня се >> номер1 ;

cout << 'Въведеното число е: ' << номер1 << endl ;

cout << „Адрес на“ << номер1 << ' е: ' << ptr_num1 << endl ;

cout << 'Моля, въведете десетична стойност, за да намерите неговия адрес в паметта: ' ;

храня се >> бр.2 ;

cout << 'Въведеното число е: ' << бр.2 << endl ;

cout << „Адрес на“ << бр.2 << ' е: ' << ptr_num2 << endl ;

cout << 'Моля, въведете низ, за ​​да намерите неговия адрес в паметта: ' ;

храня се >> ул ;

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

cout << „Адрес на“ << ул [ аз ] << ' е: ' << ( невалиден * ) и ул [ аз ] << endl ;

}

връщане 0 ;

}

Етикетите на променливите в тази програма са num1, num2 и str, с типове данни съответно int, float и string. Адресът на променливата се определя с помощта на показалеца заедно с името на променливата. Трябва да се отбележи, че изходът, който предоставя адреса на променливата, е произволно генерирано число.

Заключение

Когато декларираме променлива от произволен тип данни в C++, операционната система й присвоява място в паметта. Това място в паметта е произволно число, което не може да бъде отрицателно и е известно като адрес на променливата. Познаването на адреса на паметта на променлива може да бъде полезно в определени сценарии на програмиране. В тази статия илюстрирахме два метода, адрес на оператор(&) и указателни променливи , за определяне на адреса на паметта на променлива в C++ заедно с прости примери.