일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 알람프로그램
- c언어
- QT
- 이륜차
- android SAF
- Java
- Qt 소켓프로그래밍
- Qt OpenGL
- 스타크래프트2
- 자료구조
- 오토바이
- 재귀함수
- 디자이어HD
- 스타2
- HTML
- 안드로이드
- 엑티브엑스
- vuejs
- qt 설치
- 고속도로
- 윈도우7
- 정성하
- 바이크
- 잡담
- 양평역
- 자바
- 마영전
- Qt4
- FFI
- QTcpServer
- Today
- Total
목록프로그래밍/C,C++, Win32Api (28)
프로그래밍과 잡담
포인터 포인터.. C나 C++ 언어에는 포인터라는 걸 쓴다.. 자바나 C#은 포인터를 쓰지 않는다.. 물론 내부적으로는 포인터를 쓰겠지만 프로그래머 입장에서는 못쓴다.. 포인터란.. 주소값을 갖는 변수를 의미한다... 쓰는 방법은 쉽다.. int *pointer; 변수명 앞에 * 곱하기 기호를 붙이면 포인터가 되는거다.. 쓰는 법도 여러가지다 . int* pointer; int * pointer; int *pointer; 이렇게 3가지 인데. 가운데꺼는 잘 안쓰고 위 나 아래껄 주로 쓴다. 그리고 포인터 변수의 크기는 모두 4byte의 크기를 가진다.. double 이던 뭐던 간에 말이다.. 정의는 이거다.. C언어 배우면 사람들이 포인터가 어렵다고하는데... 너무 어렵게 생각하지말고 주소 값을 갖는 변..
배열 배열. 영어로는 array... 배열의 사용법은 간단하다. int a[10]; 이렇게 하면 배열이 생성된다. 배열을 사용하는 이유는 int a int b int c int d 이렇게 긴거를 생성할려면 이름 지어야하고 만들어야 하니까 귀찮잖아. 그래서 만든게 배열이다 . 배열은 메모리 상에 이어져서 만들어진다.. 뭔 말인가 하면 위에 그림 보면 0x00001이 a[0]이다 그다음에 0x00002는 a[1]이고 메모리상에 일자로 되어 있다는거다. 배열이란 데이터형이 묶여있는 형태를 보고 배열이라 한다. 배열의 이름은 즉 위에서 쓴 a 는 배열의 첫번째 주소값을 가지고 있다. a 라는 이름에는 0x00001을 가지고 있는 뜻이다. 나중에 포인터에서 설명.. 배열의 초기화 int a[10]; a[0] = ..
Main 함수를 알아보자. void main(){} 이렇게 하고 컴파일하고 빌드 하면 된다.. 다만 아무것도 안뜬다.. 함수의 기본틀이다.. 기본적으로 함수는 위에 방식으로 되어 있다.. return 데이터형은 전에 써 놓은거 처럼 int float나 배열, structure, 포인터가 될 수가 있다. 함수 이름은 아무거나 지으면 된다.. 다만 정해진 이름을 사용해서는 안되다.. int 나 float 이런거를 함수로 사용하면 에러가 뜬다.. 숫자가 앞에 들어가도 않된다.. 특수 문자도 쓰면 안된다.. 언더 바 '_' 이거는 된다. 받을 인자도 여러가지가 있다.. 배열이 될수 있고 데이터형이 될 수도 있고 structure가 될 수도 있다.. 물론 포인터로도 인자를 받을 수 있다.. 내용은 함수를 호출을 ..
비트 연산자.. 요거는 나중에 가면 많이 쓰인다.. 엠베디드나 어디든간에 많이 쓰이는거기 때문에... 어쨌든 & 와 | 비트 연산.. 비트끼리 연산을 하는거다.. 컴퓨터가 하는 방식의 연산을 비트연산이라 한다.. 사람 처럼 10진수로 10 + 10 이 아니라 1010 이진수로 10이다. 1010 + 1010 -------- 0001 0100 0001 0100 20을 2진수로 변환하면 이거다.. 이렇게 계산을 한다. 수학을 배우면 2진수같은거 배울꺼다 그런식으로 컴퓨터는 계산을 한다.. 어쨌거나.. & 이거는 And연산으로 0101 1101 & 1010 1100 ------------------ 계산을 하면 0000 1100 의 값이 나온다. 둘다 1일때만 1이고 둘중에 0이라도 있으면 무조건 0이다.. ..
연산자 C언어에서 사용되는 연산자는 사칙 연산을 하는 + , - , * , / 하고 나머지 연산자 인% 가 있다. 사칙연산은 초딩때도 배우는거니 다 알거고 .. %는 3 % 2 하면 나머지값인 1이 나온다.. 그리고 사칙연산 말고도 다른게 있다.. , 크냐 작냐 그런거 말이다 '==' 은 같다는 표시이다 ≡ 이거 하고 같은거다. 저런거 쓸려면 특수문자를 써야 하니까 그냥 '== '이걸로 쓰는거다 !=이거는 (개 != 새) "틀리냐"를 할때는 쓰는거다. 그리고 논리 연산자가 있다.. && (and) , ||(or) , !(not), ^(xor) 무슨 의미인지는 다 알 것이다.. 컴퓨터 시간에 배웠을것이다.. 뭐 기억안나면 인터넷 검색! 예제) bool t = true; bool f = false; int ..
쓰는 이유는 좀 정리를 해보기 위해서다.. 어쨌거나.. C언어는 Bell 연구소인가 뭔가 하는데서 만든 B에서 C로 된 언어이다. C의 특징은 고급언어이다. 고급언어라는 저급언어같은 어셈블리어와 다르게 프로그래머와 소통을 할 수 있다. 그리고 저급 언어의 특정도 가지고 있다. 시스템 쪽에서 많이 쓰인다. 뭐 그냥 이런건 그렇다고 넘어가고.. C언어는 구조적이다. 구조적이란? void main() ↓ { int a; ↓ fnc(); ↓ 이렇게 순차적으로 내려간다. } void main() ↓ { int a; ↓ fnc(); ↓ int b; X ///이런 식의 변수선언이 안된다. 이유는? 나도 몰라 .. C를 만든놈 한테 물어봐. } C에서 업그레이드된 언어가 있는데 C++이라는 언어가 있다.. 이 언어는 ..
HFONT Font; Font = CreateFont(12,0,0,0,0,0,0,0,HANGEUL_CHARSET,0,0,0,VARIABLE_PITCH | FF_ROMAN,TEXT("굴림")); SendMessage(HWND,WM_SETFONT,(WPARAM)Font,MAKELPARAM(TRUE,0)); LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ); 버튼을 만들면 버튼에 있는 폰트를 바꿀때는 저위에 있는거 처럼 하면 버튼에 있는 폰트가 바뀐다. 이렇게 바뀐다.
/////////Memory Leck ///////////// #ifdef _DEBUG #define _CRTDBG_MAP_ALLOC #include #define DEBUG_NEW new(_NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif 위에 있는걸 헤더 파일이던 main 위에던 같에 아무데나 붙여 넣는다. 그리고 main(이 main 함수는 WinMain이 될수도 있다.) 함수에 #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif 이걸 붙여 넣는다.. 이런 식으로 int main(void) { #..