------------------------------------------------------------
------------------------------------------------------------
구조체는
사용자가
새로운 자료형을 정의하는 것이라고 할 수 있습니다.
------------------------------------------------------------
구조체를 정의할때는
struct 키워드를 사용하는데
이것은
structure를 줄인것입니다.
structure는 구조라는 뜻입니다.
------------------------------------------------------------
예제 코드를 보면
3번째 줄에서
7번째 줄까지
구조체를 정의하고 있습니다.
struct point라는
새로운 자료형을 정의하고
그 안에 가지는 값은
X변수와 Y변수입니다.
------------------------------------------------------------
11번째 줄에서는
구조체 변수를 선언하고 있습니다.
이것은
point 구조체 변수 p를 선언한다 라고 해도 되지만
struct point가 새로운 자료형이므로
------------------------------------------------------------
struct point 타입의 변수 p를 선언한다. 라고 하면 이해가 쉽습니다.
왜냐하면
구조체는 사용자가 자료형을 새로 정의한것이고
struct point라는것은
사용자가 정의한 새로운 자료형이기 때문입니다.
------------------------------------------------------------
결국
int num;
의 구조와 다르지 않습니다.
struct point 타입의 변수 p
int 타입의 변수 num
struct point가
기존 제공되는 int자료형과는 달리
사용자가 새로 정의한 자료형이라는 것입니다.
------------------------------------------------------------
13번째
14번째 줄에서는
구조체 변수 p의 x에 1을 대입하고 있습니다.
구조체 변수 p의 y에 2를 대입하고 있습니다.
구조체 변수 p는
멤버로 x와 y를 가지므로
이렇게 . 연산자를 사용해서 어느 요소에 값을 넣을지 지정해주어야 합니다.
------------------------------------------------------------
구조체 변수 p는
다음과 같은 형태로
두 가지 변수 x와 y를 가집니다.
------------------------------------------------------------
실행결과는 다음과 같습니다.
------------------------------------------------------------
다른 예제 코드가 있습니다.
아까와 다른 점은
11번째 줄에서
구조체 변수를 선언과 동시에 초기화 했다는 것입니다.
------------------------------------------------------------
실행결과는 다음과 같습니다.
------------------------------------------------------------
또 다른 예제코드가 있습니다.
이 코드도 역시
3번째 줄에서
7번째 줄 까지
새로운 자료형
struct person을 정의했습니다.
사람의 정보를 가지는 자료형 입니다.
------------------------------------------------------------
또 다른 예제코드가 있습니다.
이 코드도 역시
11번째 줄에서
구조체 변수를 선언과 동시에 초기화 하고 있습니다.
그림으로 나타내면 변수 p에
문자열을 저장할 수 있는 char형 배열 name과
정수를 저장할 수 있는 age변수가 있습니다.
그리고 그 값을 문자열 박보검 과
정수 20으로 초기화 해주었습니다.
그리고 13번째 14번째 줄에서
구조체 변수의 값들을 출력해주고 있습니다.
------------------------------------------------------------
실행결과는 다음과 같습니다.
------------------------------------------------------------
'C_프로그래밍' 카테고리의 다른 글
[C 프로그래밍] 41장. 구조체 포인터 (0) | 2020.04.07 |
---|---|
[C 프로그래밍] 40장. 구조체 배열 (0) | 2020.04.07 |
[C 프로그래밍] 38장. 상수형 문자열 (0) | 2020.04.06 |
[C 프로그래밍] 37장. 변수형 문자열 (0) | 2020.04.06 |
[C 프로그래밍] 36장. 문자열 표현방식 (0) | 2020.04.06 |