[c언어] 포인터와 구조체의 멤버 접근

이번에는 C언어에서 포인터와 구조체를 함께 사용하여 멤버에 접근하는 방법에 대해 알아보겠습니다.

1. 포인터와 구조체 개념 복습

1.1 포인터

포인터는 메모리 주소를 저장하는 변수로, 다른 변수의 주소를 가리키고 해당 변수에 접근할 수 있게 합니다.

int num = 10;
int *ptr = #  // 포인터 ptr이 변수 num의 주소를 가리킴

1.2 구조체

구조체는 서로 관련된 데이터를 묶어서 하나의 새로운 데이터 타입으로 정의하는데 사용됩니다.

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

2. 포인터를 이용한 구조체 멤버 접근

포인터를 사용하여 구조체의 멤버에 접근할 때는 -> 연산자를 사용합니다. 이를 통해 포인터가 가리키는 구조체의 멤버에 접근할 수 있습니다.

struct Person person;
struct Person *ptrPerson = &person;

// 멤버에 접근
ptrPerson->age = 25;
printf("나이: %d", ptrPerson->age);

3. 예제를 통한 이해

아래는 포인터를 사용하여 구조체의 멤버에 접근하는 간단한 예제입니다.

#include <stdio.h>

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

int main() {
    struct Person person;
    struct Person *ptrPerson = &person;

    ptrPerson->age = 25;
    printf("나이: %d", ptrPerson->age);

    return 0;
}

이제 포인터를 사용하여 구조체의 멤버에 접근하는 방법을 이해했습니다. 구조체를 사용하여 복잡한 데이터를 효율적으로 관리하고, 포인터를 이용해 해당 데이터에 동적으로 접근할 수 있습니다.

참고 자료