본문 바로가기
Develop/C

19-1 C 언어의 구조체의 기초 예제!

by 구운밤이다 2016. 7. 31.
728x90
반응형

2016/07/27 - [IT/C언어] - 18-5 C 언어 문자열 숫자 변환 atoi

이번 시간엔 구조체를 배워보도록 하겠습니다!! 구조체란! 하나 이상의 변수를 모아서 새로운 자료형을 정의하는 도구에요! 예를들어 좌표나 개인정보 같은 정보를 표현하려면 변수를 여러 개 선언해야겠죠? 이런 같은 성격을 지닌 변수들을 묶어서 관리하기 쉽게 보관해두는게 바로 구조체입니다!! 그럼 예시를 통해 알아보도록 할게요!



struct pos {

    char name[20];

    int xpos;

    int ypos;

};

생각보다 간단하죠? 저렇게 변수나 포인터, 배열을 다 구조체 안에 넣어놓을 수 있어요! 이제 구조체 변수의 선언방법과 접근법을 알아보도록 하겠습니다!

struct pos pos1;

이렇게 선언하면 됩니다! 가운데 pos는 구조체의 이름을 의미하고요 마지막에 있는 pos1은 변수의 이름을 뜻합니다! 다른 일반 변수를 선언할 때와 같이 저 뒤에 쉼표를 찍고 pos2라는 변수도 선언할 수 있어요! 이제 구조체에 묶여있는 구조체 속 변수들에 접근하는 법을 알아보도록 할게요.

struct pos pos1={"coordinate", 5, 20};

이렇게 변수를 선언함과 동시에 초기화 할 수 있습니다! 

printf("x좌표를 입력하세요: ");

scanf("%s", pos1.name);

printf("x좌표를 입력하세요: ");

scanf("%d",&pos1.xpos);

printf("y좌표를 입력하세요: ");

scanf("%d",&pos1.ypos);

이런 식으로 pos1이라는 변수가 선언된 후 그 변수 뒤에 점을 찍어 접근할 수 있습니다! 그리고 문자열 같은 경우는 저렇게 입력받을 때는 scanf를 사용해도 되지만 변수를 초기화 할때 문자열을 넣는 것이 아니면 strcpy를 이용해서 넣어줘야되요!


모르는 것은 댓글이나 쪽지로 남겨주시면 성심 성의껏 답변해드리겠습니다!! 댓글공감구독(이웃추가)는 블로거에게 큰 힘이 됩니다! 부탁드리면서 이번 포스팅을 마치도록 하겠습니다! 지금까지 딘또였습니다.


728x90
반응형

댓글