본문 바로가기
Language/C

[자료구조] 개념 PART.2

by En_Geon 2020. 6. 18.

자료의 표현 - 포인터 자료

포인터(pointer)의 개념

 - C언어에서 가장 큰 특징을 포인터라고 말하는 사람들이 많다. 그만큼 포인터는 C언어의 대표적인 특징이자 C언어를 강력하게 만드는 존재다. 포인터로 인해 메모리 접근이 가능하므로 저급 언어의 특징을 갖게 하는 존재이며 때로는 잘못된 포인터의 연결로 오류를 만드는 C언어의 최대 약점이 될 수도 있는 존재다. 그래서 자바에서는 포인터를 제외하고 포인터와 비슷한 참조형을 만들었다.

 

 - 일반적인 변수들은 각자 선언된 자료형의 상숫값을 그 변수의 기억되는 값으로 저장하게 되지만 포인터 또는 포인터 변수는 메모리의 주솟값을 가지는 변수를 말한다. 주 메모리는 주소라는 개념으로 프로그램에서 접근하게 되는데 이 주솟값을 포인터 변수가 가지게 되는 것이다.

 

포인터 변수의 선언

  1. 자료형 : C언어가 가질 수 있는 일반적인 자료형이 올 수 있다.
  2. *(asterisk) : 키보드의 8번 키를 shift와 함께 누르면 된다.
  3. 포인터 변수 이름 : 일반 변수 이름 만들 듯이 identifier를 만드는 규칙에 어긋나지 않게 작성
자료형 * 포인터 변수 이름
1 2 3

 

'*'의 개념

  1. 예를 들어 int *p; 라고 선언문에 올 때 '*'의 의미는 포인터 변수 p를 선언하는 것이다.
  2. 예를 들어 printf("%c", *p); 라는 수행문이 있을 때 이것은 포인터 변수 p 안에 저장된 기억장소가 가리키는 위치의 기억공간의 값이란 의미다.

 

포인터로 나타낼 수 있는 자료구조

  1. 연결리스트
  2. 트리구조

'&"의 개념

  1. '&'의 명칭 : 'ampersand'라고 부른다.
  2. 의미 : 변수 앞에 붙어서 그 변수의 시작 주소를 의미

 

자료의 표현 - 논리자료

 - 논릿값을 표현하기 위한 자료 형식

 

논릿값

  • 참(true)과 거짓(false), 1과 0
  • 1byte를 사용하여 논리자료를 표현하는 방법

사용

  • if 문이나 반복문 등의 제어구조를 표현할 때 사용

댓글