C++에서 구조체와 Typedef 구조체의 차이점

Naila Saad Siddiqui 2023년10월12일
  1. C/C++의 typedef 키워드
  2. C++에서 structtypedef struct의 차이점
C++에서 구조체와 Typedef 구조체의 차이점

이 짧은 기사에서는 C++의 typedef 키워드에 대해 설명합니다. 또한 C++에서 단순 구조체와 typedef 구조체의 차이점에 대해서도 설명합니다.

C/C++의 typedef 키워드

typedef는 데이터 유형에 새 이름이나 별칭을 부여하는 데 사용되는 C/C++의 키워드입니다. 이러한 데이터 유형은 기본(예: int, float 등) 또는 비기본 또는 사용자 정의 데이터 유형(예: class, struct 또는 union)일 수 있습니다.

typedef 키워드는 주로 프로그램에서 사용하기 다소 복잡하거나 프로그램 컨텍스트와 관련이 없는 이름을 가진 사용자 정의 데이터 유형과 함께 사용됩니다.

기본 int 데이터 유형에 대한 typedef 선언 구문은 다음과 같습니다.

typedef int negative_int;

이제 프로그램에서 int 변수를 선언해야 할 때마다 다음과 같이 negative_int라는 이름으로 이를 수행할 수 있습니다.

#include <iostream>
using namespace std;

int main() {
  cout << "Welcome to the typedef tutorial" << endl;
  typedef int negative_int;  // typedef keyword use
  negative_int num = -7;
  cout << "The number is: " << num << endl;
  return 0;
}

이 코드의 출력은 다음과 같습니다.

Welcome to the typedef tutorial
The number is: -7

C++에서 structtypedef struct의 차이점

C++에서 structtypedef struct 사이에는 동일한 이름을 가진 다른 선언이 이름을 가리지 않는 한 모든 structs, unions, enumsclass 사이에 구분이 없습니다. 선언은 암시적으로 typedef된 것처럼 동작합니다.

C 언어는 typedef struct를 사용했습니다. 왜냐하면 C에서는 struct 객체를 생성해야 할 때마다 항상 struct 키워드를 사용해야 하기 때문입니다. 따라서 typedefstruct를 이름으로만 사용할 수 있는 경우에 유용합니다.

관련 문장 - C++ Struct