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