ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C언어] 7-1. 구조체
    프로그래밍/C 2014. 4. 9. 01:03

    1. 구조체의 개념과 선언


    * 구조체의 개념

    - 구조체는 사용자가 직접 만들어 사용할 수 있는 사용자 정의형 데이터 타입으로 서로 다른 데이터형을 가진 변수들을 하나의 그룹으로 묶어서 만들어진 데이터형




    * 구조체의 특징

    - 구조체는 서로 다른 자료형의 모임을 하나의 자료형으로 정의하여 사용

    - 구조체 변수를 함수의 인자로 사용가능

    - 구조체는 struct라는 예약어를 사용

    - 구조체 정의 시 typedef을 사용하여 타입 재정이 가능

    - 구조체 정의 시 태그(tag)명 생략이 가능

    - 메모리의 할당과 반환 등 동적인 관리가 가능


    * 구조체의 정의와 선언

    - 구조체의 정의 형식은 다음과 같다

    struct 구조체이름 {

    멤버변수형 멤버변수1;

    멤버변수형 멤버변수2;

    ...};

    - 구조체 변수의 선언 형식은 다음과 같이 다양한 방법이 있다.

    - 첫 번째로 구조체를 선언하고 선언된 구조체를 이용하여 변수를 지정하는 방법

    struct 구조체명 {

    멤버변수1;

    멤버변수2;

    ...

    };

    struct 구조체명 변수명1, 변수명2, ... ;

    - 두번째 방법은 구조체 선언과 동시에 변수를 선언하는 방법

    struct 구조체명 {

    멤버변수1;

    멤버변수2;

    ...

    } 변수명1, 변수명2...;

    - 세번째 방법은 구조체를 선언하면서 구조체형을 상속받는 새로운 데이터형을 재정의하고 이를 이용해서 변수를 선언하는 방법이다. 이 경우 구조체 선언문에 typedef을 이용하면 된다.

    typedef struct 구조체명 {

    멤버변수1;

    멤버변수2;

    ...

    } 재정의형이름;

    재정의형이름 변수명1, 변수명2...;


    2. 구조체의 초기화와 사용

    3. 구조체 멤버의 참조와 변수 크기




    * 구조체 멤버의 참조

    - 구조체 변수를 구성하고 있는 멤버변수의 값을 수정하기 위해서는 구조체 변수명과 멤버이름 사이에 도트(.)기호를 사용하면 된다.

    - 구조체 포인터를 사용하는 경우는 포인터 (->)를 사용해서 접근 가능

    - 구조체 변수의 크기는 구조체 멤버 변수들의 크기를 합한 값과 같다.


    * 구조체 배열

    - 구조가 동일한 구조체 변수를 여러 개 사용해야 할 경우 구조체 변수들을 배열로 선언해서 일반배열과 동일한 방법으로 사용하면 된다.


    * 구조체 포인터

    - 구조체 변수의 주소를 받아서 가리키는 포인터로 나머지 기능은 일반 포인터와 유사


    * 함수의 매개변수로 구조체 변수를 사용

    - 구조체 변수를 함수의 매개변수로 사용하는 것은 일반 변수를 함수의 매개변수로 사용하는 것과 동일하다.


    * 정리후기

    - 시간부족으로 매우 추려서 정리.. 책쓰는 사람들은 정말 대단한듯하다..


    '프로그래밍 > C' 카테고리의 다른 글

    [C언어] 7-2. 공용체  (0) 2014.04.09
    [C언어] 7-1. 구조체  (0) 2014.04.09
    [C언어] 6-2. 포인터  (0) 2014.04.07
    [C언어] 6-1. 배열  (0) 2014.04.07
    [C언어] 5-4. 기억클래스  (0) 2014.04.06
    [C언어] 5-3. 사용자 정의 함수  (0) 2014.04.05

    댓글 0

Designed by Tistory.