정말 오랜만에 포인터를 보니... 잘 기억이 나지 않아 다시 정리함
옛날에도 헷갈렸는데 여전히 헷갈리...ㅁ
#include <iostream>
using namespace std;
int main(){
int a = 6;
int* b; //포인터 b 정의
b = &a; // a의 주소값을 포인터 b 에 넣어줌
cout << "a의 값 " << a << endl; // 6으로 나옴
cout << "*b의 값 " << *b << endl; // 해당 주소값에 있는 값이므로 6
cout << "a의 주소 " << &a << endl; // 0x16d9fef98
cout << "*b의 주소 " << b << endl; // 0x16d9fef98
*b = *b + 1;
cout << "이제 a의 값은 " << a << endl; // 7
int* c = new int; //원하는 데이터형(int)을 알려주면 그에 맞는 메모리 블럭 주소를 찾아 리턴
*c = a;
cout << "c의 값 " << *c << endl; // 7
cout << "c의 주소 " << c << endl; // 0x154e05ea0
return 0;
}
포인터 변수는 일반적으로 64bit 프로그램에선 8byte, 32bit 프로그램에선 4byte
데이터 형식과 관계 없음
b = &a
*b = a
'Code > C++' 카테고리의 다른 글
[C++] 정적 변수 (static) 와 상수 변수 (const) (0) | 2024.08.18 |
---|---|
[C++] 메모리 할당 (0) | 2024.08.16 |
[C++] 네임스페이스 (namespace) (0) | 2024.08.15 |
[C++] 선언 (Declaration)과 정의 (Definition) (0) | 2024.08.14 |
[C++] 구조체 (0) | 2024.03.26 |