-
[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언어] 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