C++에서 메모리 주소는 무엇이며 어떻게 찾을 수 있습니까?

C Eseo Memoli Jusoneun Mueos Imyeo Eotteohge Chaj Eul Su Issseubnikka



C++에서 메모리 주소는 데이터가 저장되는 RAM의 변수 위치입니다. RAM(Random Access Memory)은 임의의 순서로 읽고 수정할 수 있는 일종의 컴퓨터 메모리로 작동 데이터 및 기계 코드를 저장하는 데 자주 사용됩니다. 우리 프로그램에서 각 변수는 RAM에 저장되고 메모리 공간을 차지합니다. 이러한 변수에는 특정 메모리 위치가 있으며 각 변수에는 다음을 통해 검색할 수 있는 주소가 있습니다. 앰퍼샌드(&) 연산자 . 이 연산자는 변수의 메모리 주소를 나타내며 해당 위치에 저장된 데이터에 액세스하고 조작하는 데 유용합니다.

이 기사는 C++에서 변수의 메모리 주소를 찾는 방법을 안내합니다.

C++에서 변수의 메모리 주소를 결정하는 방법

C++에는 변수의 메모리 주소를 결정하는 두 가지 방법이 있습니다.







방법 1: 'address of' & 연산자를 사용하여 변수의 메모리 주소 찾기

변수의 메모리 주소를 결정해야 하는 경우 다음을 활용할 수 있습니다. '연산자 주소'(&) , 변수의 주소를 반환합니다. 변수의 주소를 표시하려면 다음을 사용하십시오. '&' 변수 이름과 함께.



예제 프로그램을 사용하여 이를 시연해 보겠습니다.



#include

네임스페이스 표준 사용 ;

정수 기본 ( )

{

정수 숫자 1 ;

뜨다 숫자 2 ;

문자열 문자열 ;

쿠우트 << '메모리 주소를 찾으려면 정수 값을 입력하십시오: ' ;

식사 >> 숫자 1 ;

쿠우트 << '입력한 번호: ' << 숫자 1 << ;

쿠우트 << '의 주소' << 숫자 1 << ' 이다: ' <<& 숫자 1 << ;

쿠우트 << '메모리 주소를 찾으려면 10진수 값을 입력하십시오: ' ;

식사 >> 숫자 2 ;

쿠우트 << '입력한 번호:' << 숫자 2 << ;

쿠우트 << '의 주소' << 숫자 2 << ' 이다 :' <<& 숫자 2 << ;

쿠우트 << '메모리 주소를 찾으려면 문자열을 입력하십시오: ' ;

식사 >> str ;

~을 위한 ( 정수 = 0 ; < str. 길이 ( ) ; ++ )

쿠우트 << '의 주소' << str [ ] << ' 이다 :' << ( 무효의 * ) & str [ ] << ;

반품 0 ;

}

위 프로그램의 변수 레이블은 num1, num2 및 str이며 데이터 유형은 각각 int, float 및 string입니다. '&' 연산자는 메모리 주소를 찾기 위해 변수 이름과 함께 사용됩니다. 변수의 주소를 제공하는 출력은 임의로 생성된 숫자라는 점에 유의해야 합니다.

방법 2: 포인터를 사용하여 변수의 메모리 주소 찾기

C++에서는 포인터를 사용하여 변수 주소를 얻을 수도 있습니다. 다른 변수의 주소를 가지고 있는 변수를 포인터라고 합니다. 포인터는 사용하기 전에 지정해야 하는 다른 변수와 같은 역할을 합니다. 포인터는 C++에서 다음과 같이 정의됩니다. '*' 별표 연산자라고도 하는 연산자입니다.

포인터를 사용하여 메모리 주소를 찾는 예제 프로그램을 살펴보겠습니다.

#include

#include <문자열>

네임스페이스 표준 사용 ;

정수 기본 ( ) {

정수 숫자 1 ;

정수 * ptr_num1 = & 숫자 1 ;

뜨다 숫자 2 ;

뜨다 * ptr_num2 = & 숫자 2 ;

문자열 문자열 ;

쿠우트 << '메모리 주소를 찾으려면 정수 값을 입력하십시오: ' ;

식사 >> 숫자 1 ;

쿠우트 << '입력한 번호: ' << 숫자 1 << ;

쿠우트 << '의 주소' << 숫자 1 << ' 이다: ' << ptr_num1 << ;

쿠우트 << '메모리 주소를 찾으려면 10진수 값을 입력하십시오: ' ;

식사 >> 숫자 2 ;

쿠우트 << '입력한 번호: ' << 숫자 2 << ;

쿠우트 << '의 주소' << 숫자 2 << ' 이다: ' << ptr_num2 << ;

쿠우트 << '메모리 주소를 찾으려면 문자열을 입력하십시오: ' ;

식사 >> str ;

~을 위한 ( 정수 = 0 ; < str. 길이 ( ) ; ++ ) {

쿠우트 << '의 주소' << str [ ] << ' 이다: ' << ( 무효의 * ) & str [ ] << ;

}

반품 0 ;

}

이 프로그램의 변수 레이블은 num1, num2 및 str이며 데이터 유형은 각각 int, float 및 string입니다. 변수 주소는 변수 이름과 함께 포인터를 사용하여 결정됩니다. 변수의 주소를 제공하는 출력은 임의로 생성된 숫자라는 점에 유의해야 합니다.

결론

C++에서 모든 데이터 유형의 변수를 선언하면 운영 체제에서 메모리 위치를 할당합니다. 이 메모리 위치는 음수가 될 수 없는 임의의 숫자이며 변수의 주소로 알려져 있습니다. 변수의 메모리 주소를 아는 것은 특정 프로그래밍 시나리오에서 유용할 수 있습니다. 이 기사에서는 두 가지 방법을 설명했습니다. 연산자 주소(&) 그리고 포인터 변수 , 간단한 예제와 함께 C++에서 변수의 메모리 주소를 결정합니다.