구조체 선언하기
Coddy C 여정의 Logic & Flow 섹션에 포함된 레슨 — 63개 중 39번째.
이제 struct가 무엇인지 이해했으므로, 여러분만의 구조체 타입을 만드는 방법을 배울 차례입니다. C 언어에서 struct를 선언하는 것은 사용자 정의 데이터 타입의 청사진을 정의하는 특정 구문을 따릅니다.
struct를 선언하는 기본 문법은 다음과 같습니다:
struct StructureName {
datatype member1;
datatype member2;
// ... 더 많은 멤버들
};각 부분이 작동하는 방식은 다음과 같습니다: struct 키워드로 시작하고, 그 뒤에 구조체의 이름을 적은 다음, 중괄호 안에 모든 멤버 변수를 나열합니다. 각 멤버는 데이터 타입과 이름을 가진 일반 변수처럼 선언됩니다. 닫는 중괄호 뒤에 세미콜론을 잊지 마세요!
예를 들어, 2D 공간의 점을 나타내는 구조체를 만들려면 다음과 같이 합니다:
struct Point {
int x;
int y;
};이 선언은 두 개의 정수 멤버 x와 y를 포함하는 struct Point라는 새로운 데이터 타입을 생성합니다. 일단 선언되면, 이 구조체 타입은 프로그램 전체에서 좌표 정보를 체계적으로 저장하는 변수를 생성하는 데 사용될 수 있습니다.
챌린지
쉬움도서관 시스템에서 책을 나타내는 struct를 정의하는 C 프로그램을 작성하세요. 프로그램은 다음을 수행해야 합니다:
- 다음 멤버를 포함하는
Book이라는 이름의struct를 정의합니다:- 책의 식별 번호를 저장하는 정수형
id - 책의 제목을 저장하는 크기 50의 문자 배열
title - 페이지 수를 저장하는 정수형
pages - 책의 가격을 저장하는 실수형
price
- 책의 식별 번호를 저장하는 정수형
- 구조체를 정의한 후, 확인 메시지를 출력합니다:
Book struct defined successfully! sizeof()를 사용하여Book구조체의 크기를 바이트 단위로 다음 형식으로 출력합니다:Size of Book struct: [size] bytes- 각 멤버의 크기를 개별적으로 출력합니다:
Size of id: [size] bytesSize of title: [size] bytesSize of pages: [size] bytesSize of price: [size] bytes
이 챌린지는 struct 키워드의 올바른 사용, 적절한 데이터 타입을 사용한 멤버 선언, 닫는 중괄호 뒤의 세미콜론을 포함하여 구조체 선언 구문에 대한 이해를 테스트합니다. 또한 sizeof() 연산자를 사용하여 C가 구조체 멤버에 메모리를 할당하는 방법을 살펴봅니다.
정확한 크기 값은 시스템 아키텍처에 따라 다를 수 있지만, 프로그램이 성공적으로 컴파일되고 실행되려면 구조체 정의 구문이 정확해야 함을 기억하세요.
치트 시트
C에서 struct를 선언하려면 다음 구문을 사용합니다:
struct StructureName {
datatype member1;
datatype member2;
// ... 더 많은 멤버들
};struct 키워드로 시작하고 그 뒤에 구조체 이름을 적은 다음, 중괄호 안에 모든 멤버 변수를 나열합니다. 각 멤버는 데이터 타입과 이름으로 선언됩니다. 닫는 중괄호 뒤에 세미콜론을 잊지 마세요!
Point 구조체의 예:
struct Point {
int x;
int y;
};이것은 프로그램 전체에서 사용할 수 있는 두 개의 정수 멤버를 가진 struct Point라는 새로운 데이터 타입을 생성합니다.
직접 해보기
#include <stdio.h>
int main() {
// TODO: 여기에 Book 구조체를 정의하세요
// 확인 메시지 출력
printf("Book struct defined successfully!\n");
// TODO: Book 구조체와 그 멤버들의 크기를 출력하세요
return 0;
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.