변수, 메모리
int main() {
int a = 0;
int b = 3;
int c = a + b;
int d = 2.5;
return 0;
}
c++에서는 변수명에 어떤 숫자가 있는지 기억하는 것이 아니라
스택 메모리 공간에 top위치에서부터 몇번 째에 무슨 숫자가 있는지 기억한다.
#include <iostream>
using namespace std;
int main() {
int a = 0;
int b = 3;
int c = a + b;
int d = 2.5;
cout << (long)&a << endl;
cout << (long)&b << endl;
cout << (long)&c << endl;
cout << (long)&d << endl;
return 0;
}
a, b, c는 4bytes
d는 8bytes식으로 type마다 allocation되는 크기가 다르다.
memory allocation 방식은 컴파일러마다 다르지만 unix기반 gcc clang 컴파일러의 경우 하나의 프로세스가 실행되면
위 그림처럼 변수가 들어올 때마다 메모리 주소가 감소하는 방향으로 들어가게 된다.
Author And Source
이 문제에 관하여(변수, 메모리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dik654/변수-메모리-qw1ba1f2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)