본문 바로가기

정보처리기사

[정보처리기사] 실기 노트 - 프로그래밍 언어 활용 2

  1. 포인터
    1. 포인터의 개요
      1. 포인터 (pointer)는 메모리상의 어떤 주소를 가리키고, 메모리상의 주소에는 데이터가 저장되므로, 결국 포인터는 메모리에 저장된 데이터의 위치를 가리킴
      2. 포인터를 저장할 수 있는 변수를 포인터 변수라고 함
      3. 포인터 변수의 용도
        1. 연결된 자료 구조를 구성하기 위해 사용
        2. 동적으로 할당된 자료 구조를 지정하기 위해 사용
        3. 배열을 인수로 전달하기 위해 사용
        4. 문자열을 표현하기 위해 사용
        5. 커다란 배열에서 요소를 효율적으로 저장하기 위해 사용
        6. 메모리에 직접 접근하기 위해 사용
    2. 포인터 변수의 선언
      1. 포인터 변수의 선언 형식
        데이터형 * 포인터 변수;
        # 일반 변수와 구분하기 위해 변수 앞에 간접 (indirection) 연산자 *를 사용함
      2. 포인터 연산자
        1. 연산자 &: & 다음에 표시된 변수의 주소를 나타냄
        2. 연상자 *: 포인터가 가리키는 곳에 저장된 값을 나타냄
      3. C 문제: 포인터 변수 활용 프로그램 실행결과 확인
  2. 구조체
    1. 구조체의 개요
      1. 구조체 (Structure): 자료의 종류가 다른 변수의 모임
      2. 구조체는 서로 다른 데이터형을 모두 포함하는 독특한 기억공간을 가지며, 사용자가 필요에 의해 정의하여 사용할 수 있는 사용자 정의의 데이터형임
    2. 구조체의 정의
      1. 형식
        struct 구조체 태그
        {
            데이터형 변수1;
            데이터형 변수2;
            ...
        };
    3. 구조체 변수의 선언
      1. 구조체 변수: struct 구조체명 변수명;
      2. 구조체 배열: struct 구조체명 배열명[첨자];
      3. 구조체 포인터: struct 구조체명 *포인터 변수명;
    4. 구조체 멤버의 지정
      1. 구조체의 멤버는 모든 요소들이 개별적인 이름을 가지고 있으므로 구조체 멤버를 지정할 때는 구조체 변수와 함께 멤버 이름을 지정해야 함
      2. '.'에 의한 지정: 구조체 일반 변수를 이용해 구조체 멤버를 지정할 때
      3. '->'에 의한 지정: 구조체 포인터 변수를 이용해 구조체 멤버를 지정할 때
      4. 구조체의 포인터 변수는 일반 포인터 변수처럼 *를 사용하여 멤버를 지정할 수도 있음
    5. C문제: 구조체 활용 프로그램 실행 결과 확인
  3. 사용자 정의 함수
    1. 사용자 정의 함수의 개요
      1. 사용자 정의  (User-defined function): 프로그램에서 제공하는 기본 함수들을 이용하여, 사용자가 직접 만들어 사용하는 함수
      2. 함수를 사용하는 프로그램의 구성과 형식
        함수의 원형 선언: 데이터형 함수이름
        - 함수 정의
        데이터형 함수이름(함수인자들)
        {
            변수 선언;
            문장;
            [return 변수 또는 수식;]
        }
    2. C문제: 사용자 정의함수와 재귀적 호출