#define

  • 매크로 (전처리기)
  • 코드 자체를 치환한다.
#define sometype char*

void main()
{
	sometype a1, a2;
}


// 코드가 이렇게 변함


void main()
{
	char* a1, a2;		// a1은 char* , a2는 char
}

 

 

 

 

typedef

  • 타입 재정의 (전처리기 아님)
typedef char* sometype

void main()
{
	sometype a1, a2;
}


//이렇게 바뀜

void main()
{
	char* a1, *a2;		// a1은 char*, a2도 char*
}

 

 

  • 함수 포인터에도 사용
  • 함수 포인터자료형으로 사용해서 변수를 만듦.
typedef int (*t_somefunc)(int,int);

int square(int u, int v) { return u*v; }

void main()
{
    t_somefunc renamefunc = square;
    t_somefunc renamefunc = □	// 초기화 방식 (둘다 가능)
    
    
    int result = renamefunc(123,123)	// 123*123
    int result = (*renamefunc)(123,123)	// 123*123 (둘다 가능)
}

 

 

  • 배열에 사용
typedef int THREE[3]

THREE arry = {1, 2, 3};	// int arry[3] = {1, 2, 3}

cout<< arry[0] << endl;

'c, c++ 리마인드' 카테고리의 다른 글

멤버 변수, 동적 할당 배열 크기 구하기  (0) 2024.04.12
[c++] typeid, is_base_of  (2) 2024.02.10
C++ friend 함수  (0) 2023.10.31
C++ 함수 객체(Functor) 와 함수 포인터  (0) 2023.10.27
C++ new / delete  (0) 2023.10.24

+ Recent posts