본문 바로가기
공부/c++

#11 typedef

by 심심한 뾰 2021. 9. 20.
반응형

구조체를 공부하기 전, 구조체를 더 이해하기 쉽도록 typedef 개념들을 공부!

#typedef

1
2
3
4
5
6
7
8
9
10
11
#include<iostream>
//type define
//형을 정의
 
int main(){
  typedef int Int32;
  Int32 n = 20;
 
  std::cout << n << std::endl;
  std::cout << sizeof(Int32) << std::endl;
}
cs

 

출력된 결과

typedef를 통해 Int32를 int와 똑같은 의미를 가지도록 정의할 수 있다.

 

-배열의 형변환

1
2
3
4
5
6
7
8
#include<iostream>
//type define
//형을 정의
 
int main(){
  int point[2] = {3,4};
  std::cout << "(" << point[0] << ", " << point[1] << ")" << std::endl;
}
cs

출력된 결과

위 코드에서 정의한 point[2]를 형변환을 사용하여 바꾼 코드는 밑의 코드와 같다.

1
2
3
4
5
6
7
8
9
10
#include<iostream>
//type define
//형을 정의
 
int main(){
  typedef int Pair[2];
  Pair point = {3,4};  // == int point[2] = {3,4};
  std::cout << "(" << point[0<< ", " << point[1<< ")" << std::endl;
}
 
cs

Pair을 2가지를 저장할 수 있는 배열로 정의할 수 있다.

 

-포인터에 문자열을 담을 수 있다.

1
2
3
4
5
6
7
#include<iostream>
 
int main(){
  char *name = "Doodle"//== char name[] = "Doodle";
  std::cout << "이름 : " << name;
}
 
cs

위 코드는

char *name = "Doodle"는 char name[] = "Doodle" 와 같은 의미라는 것을 보여준다.

1
2
3
4
5
6
7
#include<iostream>
 
int main(){
  typedef char *String;
  String name = "Doodle"//== char *name = "Doodle";
  std::cout << "이름 : " << name;
}
cs

따라서 형변환도 포인터에 배열을 저장할 수 있도록 짤 수 있다.

 

 

출처(source) - 유튜브 두들낙서님

https://www.youtube.com/c/%EB%91%90%EB%93%A4%EB%82%99%EC%84%9C

 

두들낙서

C/C++ 강좌를 올리고 있고 다른 컨텐츠는 할 수도 있고 안 할 수도 있는 채널. ▶ 두들낙서 지식공유 서버 참가하기: https://discord.gg/y4SXcjU

www.youtube.com

c++ 최고의 강좌,,

반응형