구조체 정의, 구조체 선언

(2020-01-03)

구조체 정의 및 선언, 구조체 태그

1. [C 언어]  구조체정의,선언구조체 선언, 구조체 정의 비교
     - 구조체 정의 : 구조체 구성 정보를 자세하게 컴파일러에게 알려 줌
     - 구조체 선언 : 구조체 변수를 만들어 실제 기억 공간을 확보/할당하게 됨

  ㅇ 구조체 태그명 
     - 구조체 자료형으로 선언됨을 알려주는 명칭
        . 여러 구조체들을 서로 구별할 수 있게하는 식별자 역할

  ㅇ 구조체 정의 형식
     * struct `구조체 태그명` 바로뒤에, 
        . 구조체 멤버들이 중괄호 { }로 둘러싸여 열거 됨

     - ①  구조체 태그(structure tag)를 사용하는 정의 형식
          
struct 구조체태그명 {
   구조체 멤버 1;
   구조체 멤버 2;
   ...;                       
} ;
- ② 구조체 태그(structure tag)를 사용 않는 정의 형식
struct { 
   구조체 멤버 1;
   구조체 멤버 2;
   ...;       
} 구조체변수 1, 구조체변수 2 ;
. 한편, 이 형식은, 구조체 선언,정의를 동시에 같이 하는 것임 ㅇ 구조체 변수 선언 형식 - (C 언어의 경우) struct 구조체태그명 구조체변수; . (실제 기억 공간 확보) .. 이전에 정의된 구조체 형식을 갖는 구조체 태그명으로, 구조체 변수를 선언 함 . (추상자료형 생성) .. 사실상, `struct 구조체태그명`에 의해 새롭게 데이터형을 만드는 것임 - (C++ 언어의 경우) 구조체태그명 구조체변수; // C++은, struct 키워드 생략 (간결함) 2. [C 언어] 구조체 별칭에 의한 선언,정의 구조체 별칭으로 새로운 자료형을 만듬 ㅇ 구조체 별칭에 의한 정의 - typedef struct (구조체명칭 생략가능) { 자료형 멤버명; } 구조체별칭; . 여기서, typedef는, 기존의 자료형으로부터 유도된 새로운 자료형을 만들 때 사용되는 키워드 - 例)
typedef struct {
    int num;
    char name[10];
} Student;
구조체 별칭에 의한 선언 - 구조체별칭 구조체변수명;


[구조체,공용체] 1. C 구조체 2. C 구조체 정의,선언 3. C 공용체

 
        최근수정     요약목록     참고문헌