프로그래밍[Univ]/C언어

[C언어] 구조체 structure 레코드 recorde

Cloud Travel 2008. 7. 14. 13:37
 1. 구조체란?
 
 서로다른 형의 변수들을 하나의 이름으로 묶어 놓은 것!
 즉, 변수의 집합체이다.
 구조체의 다른 이름은 레코드 이다.
 복잡한 자료를 다루는 것을 편리하게 해주는 장점이 있다.

 2. 문법
 
 struct name1{
    int x;
 } name2 ;

  1) struct 명령어
   : 구조체의 시작을 의미한다.

  2) name1
   : 구조체의 이름을 나타낸다. 'structure tag' 라고 한다.

  3) int x;
   : 앞에서도 흔히 사용하였던 변수 선언이다. 구조체의 변수들을 선언해준다.
   : 구조체에 속하는 변수들을 '멤버(members)'라고 한다.

  4) name2
   : 구조체의 변수를 선언하는 것이다. 구조체를 다룰 때 사용할 변수를 선언해주는 것이다.
  ※name1은 단순히 구조체의 이름일 뿐 없어도 되는 것이다.

  5) 구조체의 선언과 변수 선언은 다음과 같이 선언할 수 있다.
   ex1> 구조체를 선언하고, 구조체 변수 선언
   struct time {
        int hour;
        int min;
        int sec;
   } ;
   struct time first;
   ex2> 구조체 선언과 구조체 변수선언을 같이
   struct time {
        int hour;
        int min;
        int sec;
   } first;
   ex3>  태그명을 생략하고 구조체 변수 선언
   struct {
        int hour;
        int min;
        int sec;
   } first;
   위에서의 예제는 다음과 같은 메모리 할당을 가지게 된다.
  
사용자 삽입 이미지
  3. 구조체 멤버의 사용(참조)
   구조체의 멤버를 사용하기 위해서는 멤버연산자 '.(도트연산자)'를 사용한다.
   문법 > 구조체 변수.멤버