참조형변수와 포인터

codakcodak·2023년 7월 17일
0

Java

목록 보기
6/17

C의 포인터

  • 메모리의 주소값을 저장하는 변수
int a = 3;
int *p = &a; 

*c/c++은 p의 값을 위처럼 변수의 주소로 저장할 수 있고,0xaaaaaaaa 같이 임의의 직접적으로 메모리 주소로 바꿔버릴 수도 있다.하지만 잘못된 메모리 참조로 인한 segmentation fault가 발생할 수 있다.

Java의 참조형변수

  • 메모리의 주소값을 저장하지만 직접적으로 접근이 불가능한 변수
int a[] = new int[5];    

1.메모리의 구조


*메모리는 크게 Class,Stack,Heap의 3가지 영역으로 나뉜다.

2.기본형변수의 할당


*기본형 변수는 Stack영역에 값 자체가 저장된다.

3.참조형변수의 할당


*참조형변수는 new키워드로 인해 Heap영역에 데이터가 저장되고 Heap영역에 할당된 주소가 Stack영역의 공간에 저장되게 된다.즉 Stack영역에 Heap영역에서 할당받은 데이터공간의 주소가 저장되는 것이다.

장단점

profile
숲을 보는 코더

2개의 댓글

comment-user-thumbnail
2023년 7월 17일

잘봤습니다. 좋은 글 감사합니다.

답글 달기
comment-user-thumbnail
2023년 7월 17일

저도 개발자인데 같이 교류 많이 해봐요 ㅎㅎ! 서로 화이팅합시다!

답글 달기