반응형

【 C 언어 】 #38 구조체 이해하기



 구조체는 구조적인 프로그래밍을 작성하기 위해 사용되며, 배열과 비슷한 구조를 띄고 있다. 배열과 다른 점은,  배열은 동일한 데이터형에 대하여 여러개를 정의 하는 것이고, 구조체는 서로 다른 데이터형을 하나의 묶음으로 처리(관리)하기 위해 사용되는 차이점이 있다. 또한 C++에서의 클래스(class)라는 개념으로 바뀌어 사용된다. 


▶ 문제  : 국,영,수 3과목 성적 값의 평균을 구하는 문제를 구조체를 사용하여 작성하라.



▶ 포인트 


- 구조체는 같은 유형의 데이터가 아니더라도 하나의 묶음(구조)으로 관리 할 수 있어 , 좀 더 편하게 프로그래밍을 짤 수 있게 해준다. 

- 묶어야 할 요소들을 "struct XXX" {  ...   };  형태로 선언 한다. 

- 메인 함수내에서 변수명과 함께 선언하게 되면(struct XXX YY; )  , 

  YY.kor = 100;   형태로 구조체 내에 있는 요소들을 활용 할 수 있다.



▶ 프로그램 : 




▶ 실행 결과 :


▶ 보충설명 :


- 구조체 이름은 서로 다를 수 있는 개체들을 묶은 템플릿의 이름에 해당 된다. 

  (주의 : 구조체 선언의 끝( '}' )에 ';' 세미콜론을 넣어야 한다.


- 구조체를 사용하기 위해서는 변수명을 하나 정하여 구조체를 선언해야 사용할 수 있다.   ( struct Average SCORE; )   주의 : 반드시 선언부 끝에 세미 콜론이 들어감.


- 구조체 사용은 SCORE.kor 형태로 ,  선언명(SCORE) 과 사용하고자 하는 요소값을 ' . ' 로 연결하여 사용한다.  

 (예, 국어 점수 kor에 100점 입력하기 : SCORE.kor = 100; )


 - 구조체를 배열 형태로 사용할 수 도 있다. 

 (예,  struct Average KOR[10];     : 국어 점수 10개를 배열 형태로 사용할  수 있다.  KOR[0] , KOR[1] , ....  KOR[9]   )

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



▶ 응용 연습 문제 1 :   위 프로그램을 기본으로 국어 점수 3개를 구조체 배열을 사용하여 평균값을 구하여라. 



▶ 프로그램1 :  (아래 코딩에서 빠진 영어, 수학 성적도 추가 해 넣으면 된다.)




▶ 실행 결과1 :




▶ 소스코드 다운로드 :  


38 구조체 이해하기.cpp


38 구조체 이해하기2.cpp






반응형