C언어

[C언어] 구조체 struct

코딩 메모장 2024. 9. 24. 23:47
728x90

struct는 C와 C++에서 사용자 정의 데이터 타입을 정의하는 데 사용되는 키워드입니다. 여러 개의 서로 다른 데이터 타입을 하나의 단위로 묶어 관리할 수 있게 해줍니다.

기본 개념

  • 정의: struct를 사용하여 여러 변수를 하나의 구조체로 묶을 수 있습니다. 구조체는 다양한 데이터 타입의 변수를 포함할 수 있습니다.

구조체 정의 및 사용법

  1. 구조체 정의
struct Person {
    char name[50];
    int age;
    float height;
};
struct <tag>{
	<자료형> <이름>;
	...
	<자료형> <이름>;
}<타입 이름>;

구조체 변수 선언

struct Person person1;  // 구조체 변수 선언

 

구조체 멤버 접근(구조체의 각 멤버에 접근할 때는 점(.) 연산자를 사용합니다.)

#include <stdio.h>

struct Person {
    char name[50];
    int age;
    float height;
};

int main() {
    struct Person person1;

    // 멤버 값 설정
    strcpy(person1.name, "Alice");
    person1.age = 30;
    person1.height = 5.5;

    // 멤버 값 출력
    printf("Name: %s\n", person1.name);
    printf("Age: %d\n", person1.age);
    printf("Height: %.2f\n", person1.height);

    return 0;
}

구조체의 특징

  • 다양한 데이터 타입: 구조체는 서로 다른 데이터 타입을 포함할 수 있어 복잡한 데이터를 효과적으로 관리할 수 있습니다.
  • 사용자 정의 타입: 구조체를 사용하면 프로그램의 가독성과 유지보수성을 높일 수 있습니다.
  • 메모리: 구조체는 정의된 대로 메모리를 차지합니다. 각 멤버의 크기를 합쳐서 전체 구조체의 크기를 결정합니다.
728x90

'C언어' 카테고리의 다른 글

[C언어] 사이드 이펙트 side effect  (0) 2024.09.25
[C언어] 공용체 union  (0) 2024.09.24
[C언어] 정적 변수 static  (0) 2024.09.24
[C언어] 전역변수 extern  (1) 2024.09.24
[C언어] <stdint.h>  (1) 2024.09.23