자료구조 - 1주차

‍정진철·2022년 9월 1일
0

자료구조

목록 보기
1/3

1. 1주차

Review_Pointer

복합자료형 (Compunded data types)

  • Derived Types
    1) Array
    2) Pointer
    3) Class
    4) Enumerated
    5) Structure
    6) Union

Variable and memory

address

Pointer

  • 주소값이 할당이 안된상태.
  • *ptr : ptr에 다른 변수의 주소값을 넣어줄거야.

  • 변수 'a'의 주소값 할당
  • ptr = &a;
  • ptr에게 주소값을 할당할거야(선언) : int *ptr
  • ptr의 주소값은 'a'의 주소값이야(할당) : ptr = &a;

  • 'Pointer ' is a variable that contains a memory address of other variable (does not contain actual data).
    This is why we call it 'Pointer' since it is used to POINT other variable.

-> " 포인터는 메모리 주소 값을 갖는 변수 "


  • *ptr 출력시 해당 Value값이 출력되는걸 알 수 있음 (address X)

  • &a 는 a의 주소값 출력


  • 메모리상의 문자변수와 해당 문자의 주소값 (포인터 상수)


  • 포인터 변수 선언 ( * )

포인터 변수 선언 방법

Uninitialized pointer

  • 포인터의 방향성이 결정되지 않은 상태.

포인터 변수 선언과 주소값 할당의 관계.

Exchanging Variables (call by Value)

  • temp라는 변수의 공간을 만들어주고 x의 값을 넣어준다 (temp는 5값을 갖음)
  • x에는 y의 값을 심어주고 (x는 7이됨)
  • y에는 x가 temp에게 심어준 5의 값을 넣어준다. (y가 5가됨)
  • 따라서 두 변수의 값이 교환됨.

Exchanging Pointer Variables (call by Address)

  • &a는 a의 주소값 , &b는 b의 주소값 값 의미.
  • int *px => &a
  • int *py => &b
    즉, 주소값을 가르키며 해당 주소가 품고 있는 변수의 값을 가지게됨.
  • temp에 a의 주소값 할당한다는 의미는 a의 값을 temp에게 넘긴다는 의미( temp는 5가됨)
  • px = py (a에게 b의 주소 즉, b의 값인 5를넘겨줌으로써 a는 5가됨)
  • py = temp (py의 주소값 즉 b에게 temp값인 5를 넘겨줌으로써 b는 5가됨)
  • a와 b의 값이 교환됨.


profile
WILL is ALL

0개의 댓글