반응형
구조체(6-1)
구조체의 배열을 사용하는 예제.
학생들의 데이터를 반복 구조를 사용하여 입력받는다.
데이터들은 구조체의 배열에 저장된다.
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개의 정보를 저장할 수 있는 구조체의 배열을 정의해보자.
상품은 번호와 이름, 가격을 멤버로 가진다.
반응형
'시작하지 말았어야 했던 것 > C언어 기본 문법' 카테고리의 다른 글
구조체(7-2)구조체를 가리키는 포인터 예제 (6) | 2021.02.06 |
---|---|
구조체(7) 구조체와 포인터 & 간접 멤버 연산자 (2) | 2021.02.06 |
구조체(6) 구조체의 배열 (0) | 2021.02.06 |
구조체(5) 구조체 변수의 대입과 비교 (0) | 2021.02.06 |
구조체(4-1) 구조체를 멤버로 가지는 구조체 예제 (0) | 2021.02.06 |