비트교육/문법

문법

ballde 2020. 9. 3. 20:53

이런식으로 대문자로 나타낸 단어는 새로 정의 해준 단어이거나 구조체일 확률이 높다. 

f12로 들어가서 보면 typedef wchar_t WCHAR;  이렇게 나타나있다. 

wchar_t 를 WCHAR로 나타내주겠다고 쓴것이다. 

 

그리고 구조체에서도 이런경우를 많이 볼 수 있다. 

struct APPLE {
	int a;
	int b;

};
typedef struct APPLE {
	int a=10;
	int b;

} newAPPLE;

APPLE이란 구조체를 newAPPLE이라고 쓰겠다고 하는것이다. 

typedef struct tagAPPLE { 
int a ; 
int b; 
} APPLE, *PAPPLE;

그리고 이것처럼 2개 이상도 되고 포인터변수로도 표현 할 수 있다.

 

 

function에 &ps 처럼 &가 붙은 것이 있다. 

void func(int a,int b, int *c ,APPLE *e) {
	b = 20;
	*c = 30;
	e->a = 100;
}

만약 이러한 포인터변수를 인수로 받는 함수가 있다면 

이 함수를 사용하려고 할 때 

int main() {
	APPLE a;
	PAPPLE pb;
	APPLE t1, t2;
	int x = 0, y = 0, z = 0;
	func(10, x, &y, &t2);
	printf("%d %d \n", x, y);
}

&를 써서 인수를 보내줘야 한다. 

 

 

**그리고 추가적으로 알아야 할 것들 

//
                 Unicode               범용타입 
char            wchar_t            TCHAR(WCHAR)
char*           wchar_t*               LPTSTR
const char*  const wchar_t*       LPCSTR 


//
HWND        -윈도우에 대한 handle
HCURSOR   -커서에 대한 핸들
HICON        - 아이콘에 대한 핸들
HMENU      - 메뉴에 대한 핸들 
HDC           - 그래픽 디바이스에 대한 핸들 

//
               Unicode           범용함수
strlen        wcslen             _tcslen
strcpy        wcscpy            _tcscpy
strcat        wcscat             _tcscat
strcmp        wcscmp            _tcscmp