(C/C++) 참고용 정리 - 포인터와 배열
윤성우 님의 열혈 C 프로그래밍 동영상 강좌를 열심히 보고 있다.
자바는 메모리 관리를 안 해도 된다지만 공부하면 할 수록 메모리에 자꾸만 관심이 갔다.
그러한 갈증에 대한 해소를 C언어에서 할 수 있었다.
포인터
메모리 주소의 값을 가지고 있는 변수이다.
주된 용도는 특정 변수의 메모리 주소의 값을 가지고 있는 변수이지만,
아래와 같은 것도 가능하다.1
2
3
4
5
6
7
8
9
10
11
12
int main() {
// 0x00000013이 어떤 영역인지 모른다.
// 만약 OS영역이라면 치명적인 오류가 나고, 시스템이 뻗을 수도 있다.
// 하지만 요즘 OS들은 다들 방어적으로들 행동한다고 한다.
// 혹시 모르니 아래 코드는 권장하지 않는다.
long* ptr = 0x00000013; // 에러를 뿜는 컴파일러도 있으니 권장하지 않음.
*ptr = 13;
return 0;
}