반응형

구조체(6-1)

 

 

구조체의 배열을 사용하는 예제.

 

학생들의 데이터를 반복 구조를 사용하여 입력받는다.

 

데이터들은 구조체의 배열에 저장된다.

 


 

문제풀이.c
0.00MB

 

 

 


 

4 ~ 9번째 줄 : 구조체 student를 선언하고, student는 number, name, grade의

 

3개의 멤버로 정의된다. 아직 구조체 변수는 선언되지 않았음을 명심하자

 

구조체를 함수의 외부에 선언하면 소스파일 내에 모든 함수에서 사용할 수 있다.

 

만약 구조체를 함수의 내부에서 선언하면 해당 함수 내부에서만 사용이 가능하다.

 


 

13번째 줄 : 구조체 student의 배열 list가 선언된다.

 

역시 선언되는 위치가 함수 내부이므로 자동 변수가 되고 

 

따라서 배열 원소의 초기값은 쓰레기값이다.

 


 

16 ~ 24번째 줄 : 반복 루프를 이용하여 사용자로부터 값을 입력받아 배열 원소들에 대입한다.

 

멤버 name은 문자 배열이므로 이미 배열 이름 자체가 포인터이다.

 

따라서 scanf에서 주소 연산자 &를 사용하지 않는다.

 

&list[i].name은 연산자의 우선순위에 의하여

 

&((list[i]).name) 이나 마찬가지이다.

 


 

26 ~ 27번째 줄 : 반복 루프를 이용해서 배열 list에 저장된 값들을 화면에 출력한다.

 


 

※ 복습 차원에서 문제 ※

 

1. 상품 5개의 정보를 저장할 수 있는 구조체의 배열을 정의해보자.

 

상품은 번호와 이름, 가격을 멤버로 가진다.

반응형

+ Recent posts