궁금
typedef 자료형하고 #define 자료형하고 용도차이가있음?
익명(110.70)
2015-07-29 01:07
추천 0
댓글 31
다른 게시글
-
ISFP-A익명(210.117) | 15.07.29추천 0
-
다들 좋은 밤되세요. [4]11(112.149) | 15.07.29추천 0
-
윈도우 정품인증에 관하여 질문 [9]시몬엘(lightningsky) | 15.07.29추천 0
-
막판에 다섯개 찍엇다익명(210.117) | 15.07.29추천 0
-
스타트업이 성공하는 방법은 두 가지인것 같다.codesafer(codesafer) | 15.07.29추천 0
-
전자도 요즘 븅신같고 힘든데 기계 화공이나 가라 난 기계추천 [1]익명(211.229) | 15.07.29추천 2
-
그냥 딱 글쓰는거만봐도 배운새낀지 안배운새낀지 알 수 있다 [2]익명(59.4) | 15.07.29추천 1
-
프로그래밍 할바엔 기계가 낫다..나도 철학관데 요즘 고민임 진짜 [2]익명(59.4) | 15.07.29추천 0
-
자칭 철학과 새끼는 본다. [3]codesafer(codesafer) | 15.07.29추천 0
-
프로그래밍을 접은게 내 인생에 가장핫한 선택이였다. [2]익명(221.149) | 15.07.29추천 1
둘 다 자료형 아냐
#define 은 단순 대치용 매크로지 자료형이 아닌디
아니 누가 지금 그걸 몰라서 묻나 매크로 로 다른자료형으로 바꾸는거랑 다른자료형으로 새 자료형을 정의하는게 무슨 용도차이가있냐고
define으로 자료형 선언도 할 수 있나?
typedef는 자료형 선언할 수 있는데 #define은 못하고
둘 다 자료형 아냐
#define은 전처리기 매크로고 typedef는 자료형 선언하고 뭐 정의할 때 쓰는 키워드임
아시발 그걸 누가 몰라서묻냐고 ㅜㅜ #define key unsigned int 이런것처럼 다른 자료형으로 매크로치환 하는거랑 typedef unsigned int key 하는거랑 용도차이가뭐냐고
typedef는 자료형선언맞는데 뭔개소리야
type definition = 자료형 정의 ㅂㅅ아 ㅋㅋㅋㅋ
typedef가 자료형 선언할 때 쓰는거지 자료형은 아니자나
#define key unsigned int 이거 안됨
#define은 선언이 아니라 치환이라고 생각하셈
뭐가 안됨 되는데? 그리고 얘는지금 typedef로 자료형 정의하는거랑 define 으로 저렇게 매크로 하는거랑 무슨차이냐고 묻는거자나
이새끼는 비주얼에서 보라색으로 빛나는 타입들은 뭐라고 생각하는거지
되는구나 ㄷㄷ 몰랐다야 전처리기 매크로로 자료형 정의는 한번도 안해봤다 ㄷ
용도차이를 묻는거면 typedef 는 최소단위들 정의 매크로는 다른 최소단위들로 묶일수있는것을 편하게 정의
매크로로 하면 key 가 말그대로 unsigned int 라 컴파일 후에 타입 조사하면 unsigned int 라 나옴 디버그심볼에
typedef 로하면 디버그심볼에 key라고 나옴
난리 났구만.
#define 은 포인터형을 대신해주지 못해. 일반 포인터도, 함수 포인터도
typedef int* pint; 한 경우와 #define PINT int* 한 경우의 차이로, PINT a, b, c; 하면 pint a, b, c 와 결과가 다르지.
typedef void(*func_pointer)(int); 같은 경우의 선언도 함수의 인자로 func_pointer 를 줄 수 있지만, #define 으론 안됨.
당연히 자료형선언할땐 typedef 를 써야지.
#define 으로 되는데 뭔 개소리지?
C,C++ 기본 라이브러리에 매크로로 정의된 자료형들 넘치는데 다 병신들이라 그렇게했냐?
전자의 경우 PINT a, b, c 는 int* a 와 int b, c 를 만들게 되지.
typedef 로 한 경우엔 int* a, int* b, int* c 를 만들게 되어 직관적인데 말야.
void foo(void (*)(int) a); 이런게 안되기 땜에 굳이 선언한다면 #define FUNC_POINTER(a) 처럼 선언해서 펼쳐야 될텐데
타잎처럼 안보이지. 저렇게 쓰면.
scope 얘기도 없넹. define은 undef할때까지가 scope인데 반해 typedef는 다른 선언들과 마찬가지의 scope를 가짐.