C++에서 구조체와 Typedef 구조체의 차이점
Naila Saad Siddiqui
2023년10월12일
이 짧은 기사에서는 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++에서 struct
와 typedef struct
의 차이점
C++에서 struct
와 typedef struct
사이에는 동일한 이름을 가진 다른 선언이 이름을 가리지 않는 한 모든 structs
, unions
, enums
및 class
사이에 구분이 없습니다. 선언은 암시적으로 typedef
된 것처럼 동작합니다.
C 언어는 typedef struct
를 사용했습니다. 왜냐하면 C에서는 struct
객체를 생성해야 할 때마다 항상 struct
키워드를 사용해야 하기 때문입니다. 따라서 typedef
는 struct
를 이름으로만 사용할 수 있는 경우에 유용합니다.