malloc
저는 동적으로 할당된 메모리 ( realloc
및 ) 에 대해 알아보기 위해 간단한 C++ 프로그램을 실행하고 있습니다 free
.
내 코드의 일부는 다음과 같습니다.
void *p = malloc(10); // Allocates 10 bytes in memory; `p` is a pointer to the first byte.
cout << "The value of the pointer p is: " << p << endl;
그러면 다음과 같이 출력됩니다.
The value of the pointer p is: 0x7fbf36c00080
p
나는 16진수 숫자가 이 할당의 첫 번째 메모리 위치인 가 가리키는 메모리 위치라는 것을 알고 있습니다 .
대략적으로 RAM이 얼마나 있는지 계산하려고 할 때 해당 16진수(12자리)의 자릿수를 보고 16을 제곱했습니다.
16^12는 대략 2.8x10^14와 같고 각 메모리 위치는 바이트를 저장하므로 RAM이 8GB라는 것을 알고 있음에도 불구하고 약 280테라바이트의 RAM이 있음을 의미합니다.
내 계산에서 어디가 잘못됐나요?