Structure   구조체, 구조물, 구조체 데이터, C 언어 구조체

(2018-07-17)
1. 구조, 구조물, 구조체 이란?

  ㅇ [일반]  구조 (Structure)                           ☞ 구조 아키텍쳐 조직 매커니즘 참조
     - 자연에 나타난 구성 형태 (내재적 관점)
        . 모양/형태를 잡아주는 특징적 뼈대
     - 例) 대수적 구조

  ㅇ [정역학]  구조물
     - 하중을 지지,전달,견디어 내도록 하는 부재들의 조립체
        . 例) 건축물의 골조, 철교 등

  ㅇ [프로그래밍 언어]  구조체 (일명, 레코드)
     - 하나 이상의 다른 데이터형을 가진 변수들의 집합
2. [ C 언어 ]  C 구조체 특징

  ㅇ 구조체의 강점
     - 단지 변수,배열 만으로는 표현하기에 어렵지만,
     - 구조체는 그 이상으로 데이터 표현 능력을 향상시킴

  ㅇ 구조체의 명명
     - 변수명의 작성규칙에 따라 작성

  ㅇ 구조체의 데이터형
     - 비록, 개별 변수는 아니지만, 일종의 데이터형으로의 역할도 가능 
     - 따라서, 구조체를 사용하여 새로운 데이터형도 만들 수 있음

  ㅇ 구조체의 구성 요소 (이를, 멤버 또는 필드 라고도 함)
     - 구조체 멤버의 예는, 변수, 배열, 포인터 또는 다른 구조체 일 수가 있음
     - 한편, C++에서는 함수도 멤버로써 가능

     - 구조체 멤버(구성 요소)로의 접근 : 도트(.) 연산자 사용
        . 例) 구조체명.요소명;

  ㅇ 구조체의 확장
     - 바로 객체지향언어C++에서의 클래스인 셈


3. [ C 언어 ]  C 구조체 선언 및 정의

  ㅇ 구조체 선언, 구조체 정의 비교
     - 구조체 선언 : 구조체 구성 정보(자료형)를 컴파일러에게 알려 줌
        . `struct 구조체태그명` 바로뒤에,
           .. 구조체태그명 : 구조체 자료형으로써 선언됨을 알려주는 명칭
        . `중괄호 { }`로 둘러싸인 구조체 멤버들이 열거 됨
     - 구조체 정의 : 구조체 변수를 만들어 실제 기억 공간을 확보/할당하게 됨

  ㅇ 구조체 선언 형식
     - 구조체 태그(structure tag)를 사용하는 선언 형식
         
struct 구조체태그명 {
   구조체 멤버 1;
   구조체 멤버 2;
   ...;                       
} ;
- 구조체 태그(structure tag)를 사용 않는 선언 형식
struct { 
   구조체 멤버 1;
   구조체 멤버 2;
   ...;       
} 구조체변수 1, 구조체변수 2 ;  // 여기서, 구조체 선언시 구조체 정의도 같이 하는 것임
ㅇ 구조체 변수 정의 형식 - struct 구조체태그명 구조체변수; // C 언어 . 이전에 구조체 태그명으로써 선언된 구조체에 대한 구성 정보를 토대로, . 구조체 변수를 정의 함 (실제 기억 공간 확보) . 여기서, `struct 구조체태그명`에 의해 새롭게 데이터형을 만드는 것임 - 구조체태그명 구조체변수; // C++ (struct 생략) 4. [ C 언어 ] 기타참고사항 ㅇ 구조체의 복사/복제 - 단지 구조체 변수들로 대입문(a = b = c;)에 쓰면 구조체 내 모든 요소들이 복제됨 ㅇ 구조체 데이터형에 원하는 이름 부여 가능 - 例)
typedef struct {
    int num;
    char name[10];
} Student;
ㅇ 구조체 초기화 형식 - struct 구조체태그명 구조체변수명 = { 값1, 값2, 값3, ... };


[C 변수,상수,자료형] 1. C 상수 2. C 자료형 (변수) 3. C 구조체
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
      1.   프로그래밍 언어론
      2.   객체지향
      3.   자료구조
      4.   알고리즘
      5.   자료표현(알파벳/코드)
      6.   시스템 소프트웨어
      7.   프로그래밍언어 종류
            1. 프로그래밍 언어
            2. 어셈블리언어
        1.   C
              1. C 언어
              2. C 연산자
              3. C++ 언어
          1.   C 언어 컴파일
          2.   C 변수,상수,자료형
          3.   C 함수
          4.   포인터
        2.   자바(Java)
        3.   자바스크립트
        4.   PHP
        5.   (기타 언어)
      8.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록(시험중)     참고문헌