개발정보/C,C++

[C/C++]구조체 태그의 의미, typedef이란

코리안던 2021. 4. 29. 13:01

nRF52 Example Source를 보면 _t;가 붙는 Sentence가 많다.

그 의미는 C언어가 오래된 언어라 여러가지 관습상 남아 있는 것인데,

구조체 태그와 타입 이름을 구분하기 위해 관례상 태그 앞에 _, tag_, tag를 붙이는 것이다.

 

예) _Person, tag_Person, tagPerson, Person_t

예2) int8_t; , nrf_saadc_value_t;


typedef로 정의한 별칭을 사용자 정의 자료형, 사용자 정의 타입이라한다.

자료의 별칭(alias가명)을 만드는 기능이라, 구조체 뿐만 아니라 모든 자료형의 별칭을 만들 수 있다.

typedef 자료형 별칭

typedef 자료형* 별칭

 

예) typedef int16_t nrf_saadc_value_t;

예2)

typedef struct
{
    nrf_saadc_resolution_t resolution;  ///< Resolution of samples.
    nrf_saadc_oversample_t oversample;  ///< Oversampling configuration.
    nrf_saadc_value_t *    buffer;      ///< Pointer to sample buffer.
    uint32_t               buffer_size; ///< Size of the sample buffer.
} nrf_saadc_config_t;

 

(참고링크)

dojang.io/mod/page/view.php?id=409

 

C 언어 코딩 도장: 48.2 typedef로 struct 키워드 없이 구조체 선언하기

구조체 변수를 선언할 때 일일이 struct 키워드를 붙이려니 좀 귀찮습니다. struct키워드를 생략하는 방법은 없을까요? 이때는 typedef로 구조체를 정의하면서 별칭(alias)을 지정해주면 됩니다. typedef

dojang.io