다른 글
typedef로 정의한 구조체의 포인터 별칭
아래 코드와 같이 typedef로 정의한 구조체의 별칭에 포인터가 추가적으로 존재하는것을 여러 소스코드에서 종종 볼 수 있다.
typedef struct test_st
{
int data;
}test_st, *test_st_pointer;
typedef struct는 여러개의 별칭을 가질 수 있다. typedef를 사용하여 구조체를 선언할 때 struct를 생략했듯이 포인터 별칭을 두게 되면 포인터 구조체를 선언할 때 간편하다.
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
typedef struct test_st
{
int data;
}test_st, *test_st_pointer;
int main()
{
test_st test;
test_st_pointer test_pointer;
// test_st_pointer *test_pointer; ----> 틀린 선언 방법
test_pointer = &test;
test.data = 10;
printf("%d\n", test_pointer->data);
}