1. 구조체
- 구조체는 서로 다른 데이터 타입의 변수를 하나로 묶어 사용할 수 있게 해주는 사용자 정의 데이터 타입
- 관련된 정보를 하나의 그룹으로 묶고자 할 때 유용
- 학생의 이름, 나이, 성적과 같은 정보를 저장할 때, 이 정보를각각의 변수로 저장하는 대신 하나의 구조체로 묶어 관리
2. 구조체 선언
- 구조체를 선언하려면 struct 키워드를 사용한 후, 구조체의 정의를 작성
- Student라는 구조체를 선언
> 이름(name), 나이(age), 성적(grade)을 하나의 데이터로 묶어서 관리
3. 구조체 변수 선언 및 사용
- 구조체 변수를 선언할 때는 struct 키워드 사용
- student1이라는 변수를 통해 구조체의 각 멤버에 접근
구조체 예제
출력
4. 구조체 배열
- 여러 개의 구조체 변수를 한 번에 관리하고 싶다면, 구조체 배열을 사용 가능
- 여러 명의 학생 정보를 배열로 저장
구조체 배열 예시
출력
5. 구조체와 포인터
- 구조체 포인터를 사용하면, 구조체를 직접 참조하는 대신 주소를 통해 구조체를 가리킬 수 있다.
- 구조체 포인터는 메모리 효율적인 방법으로 대용량 데이터를 처리할 때 유용
- 구조체 포인터를 선언하려면 struct 키워드를 사용하고 포인터 변수 이름 앞에 *를 붙임
구조체와 포인터 예시
- 구조체 포인터를 통해 student1의 멤버에 값을 할당하고 출력
- ptr->name처럼 -> 연산자를 사용하여 구조체 멤버에 접
출력
결론
구조체는 관련된 데이터를 하나로 묶어 관리할 수 있고, 포인터와 함께 사용하면 메모리에 효율성을 높인다.
파일 처리나 동적 메모리 할당에서 유용하며, 확실히 이해하자!
'프로그래밍 > C' 카테고리의 다른 글
[C언어] 13. 메모리 관리 동적 메모리 할당 (malloc, calloc, free) (2) | 2024.11.01 |
---|---|
[C언어] 12.파일 입출력 (fopen, fclose, fread, fwrite) (3) | 2024.10.25 |
[C언어] 10. 포인터 (포인터의 개념, 포인터와 배열, 포인터와 함수(Call by Reference)) (3) | 2024.10.23 |
[C언어] 9. 함수 (6) | 2024.10.16 |
[C언어] 8. 1차원 배열 선언, 2차원 배열 선언과 사용법 (2) | 2024.10.15 |