반응형 훈, IT 공부/C,C++,MFC40 [프로그램]복권(로또)게임 #랜덤으로 뽑기(자동) 복권게임!!! 로또로또 저는 로또를 한번도 구매해본 적은 없지만 구매한 지인들은 여럿 봐왔습니다. 이들의 공통점은 구입하고 난 뒤, 당첨결과를 기다리는 날들이 행복하다 는 것입니다. 당첨된 뒤에도 행복할 까요?? 저는 복권 당첨되는 것은 그렇게 원치는 않네요. 막상 당첨되면 기분이 째지겠지만요 ㅎ-ㅎ갑자기 몇십억 몇백억 의 돈이 생긴다면, 사람들은 순간의 기쁨과 지속적인 경계와 불안감을 가지게 될것이고일전의 인생보다 행복하여 지지는 않았다는 결과가 여기저기 많이 떠돌아 다니는 것이 사실입니다.( 물론 그만한 돈을 운영하는 자산가 혹은 억만장자 같은 사람들은 다른 결과를 가질 가능성은 높죠 ) 복권은 저의 삶을 질을 높이는 것이 아니라 오히려 떨어뜨리고 심리적인 불안감을 가지게 할 것이기 때문입니다. 저 .. 훈, IT 공부/C,C++,MFC 2018. 1. 30. 포인터에 대해서 깊고 세밀하고 정확하게 이해하기!!! 포인터 포인터 포인터 포인터에 대하여서 의문점들이 기억하면 잊고 기억하면 잊고를 반복한다... 확실히 기억에 심어 버리자 포인터는 그냥 얕게 이해하면 쉬운데 깊게 메모리를 파헤치면서 이해하려하면 쉽지는 않다... 그래서 고민하고 실패하고를 반복하면 확실한 정의가 심어질 것으로 생각한다.. 시작해봅시다. 포인터 박살내기 프로젝트 참조할 코드입니다.12int a = 10;int *pnData = &a;cs 1번행을 해석해보겠습니다. int a = 10;int 형식( 4byte 크기만큼을 )스택메모리에 할당하고 a라는 이름으로 그 위치를(주소) 식별하겠다. 그 메모리에는 십진수 10으로 초기화 하겠다. 이것은 기초기 때문에 어렵지 않게 넘어갈 수 있겠죠?? !!참고 '&' 는 단항연산자인 주소연산자입니다. 컴.. 훈, IT 공부/C,C++,MFC 2018. 1. 24. [프로그램]숫자 야구 게임 숫자야구 게임 숫자야구는 쉽게 접할 수 있는 놀이 중 한가지입니다. 무한도전을 통하여서도 한번 방영이 되었었죠???? 시간 잘가고 재미있는 킬링타임 두뇌 게임입니다 ㅎㅎ 저는 숫자야구 게임을 프로그램으로 작성하는데 앞서서 구조체를 사용하고 매개변수 전달법을 "Call By Reference"를 최대한 활용하여 진행해보려 합니다. 숫자야구 룰 일방적으로 상대방의 숫자 3개를 추측하는 방식으로 진행됩니다. ( 숫자의 개수는 전역변수 num의 값을 변경하면 됩니다. ) 1. 상대방의 숫자를 선정합니다. 2. 사용자가 숫자를 선정합니다. ( 상대방의 숫자 예측할 것 ) - 위치가 같고 숫자가 같을경우에는 스트라이크 판정 - 위치가 다르고 숫자가 같을 경우에는 볼 판정 - 위치도 다르고 숫자도 다를 경우에는 아웃.. 훈, IT 공부/C,C++,MFC 2018. 1. 24. [독하게C]함수에 대한 기본이론과 사용 주의점!! (feat.전역변수) C언어에서 말하는 함수 C언어에 있어서 함수는 프로그램을 이루는 핵심중의 핵심입니다. 연산식이 모여 -> 구문이되고 절차식의 구문이 모여 -> 함수가 됩니다. -> 또 함수가 함수를 호출하여 연계하고 그렇게 또 다른 흐름을 만듦으로 C언어 기반의 프로그램이 완성됩니다. - 함수는 필요의 따라서 언제든지 재사용이 가능합니다. ( 불연속적 반복을 통하여 코드 재사용 가능 ) - 적재적소에 함수를 잘 사용한다면 좋은 코드를 작성 할 수 있습니다. 사용자 정의 함수와 선언 및 정의우리가 작성하는 함수들은 모두 사용자 정의 함수입니다. # 함수의 선언 및 정의에 대하여 살펴봅시다.12345678910111213141516171819#include int MyFunc(int nA, int nB){ printf("n.. 훈, IT 공부/C,C++,MFC 2018. 1. 18. 헝가리안 표기법이란 헝가리안 표기 헝가리안 표기법이란? 헝가리안 표기법은 구글의 개발자의 머리속에서 나온 것인데, 이 사람이 헝가리 사람이었다고 합니다...;; 이 개발자는 변수 속에서 용도가 드러나게 하라고 하였는데, 여러사람을 거쳐 지다 보니 본질과는 많이 변하였다고 하더군요.. 컴퓨터 프로그래밍을 할 때, 변수 및 함수의 이름 앞에 데이터 타입을 명시하는 코딩의 규칙입니다. 코딩을 처음 접하시는 분들은 "도대체 어떻게 변수 이름을 작성해야 하지 .... ㅠ ㅠ" 변수 명을 선택하느라 골머리가 아픈 경우가 많고 어렵습니다. 또한 코드는 문서이기 때문에 변수명을 잘 작성해야합니다. (변수명 뿐만 아니라..) ※※ 모두가 볼 수 있어야 하기 때문이죠 ※※ 예를들어 간혹 코딩을 할 때, 아래와 같이 코드를 작성하게 됩니다. .. 훈, IT 공부/C,C++,MFC 2018. 1. 4. ASLR이란? 왜 계속 주소가 바뀌는건가요!!! (메모리변조) ASLRASMR 아니고아니고! 왜 계속 메모리를 보는데 주소가 바뀌는 것인가?? 메모리 주소가 바뀐다는 말이 무엇인지 부터 설명하겠습니다. C언어를 다루다 보면 Debug모드로 코드에 접근하여 메모리주소를 보는것이 일상화 되듯이 보게 됩니다. 그런데 내가 기억한 메모리의 주소가 계속해서 바뀐다면...?? 아래의 예를 살펴보시겠습니다. 실습을 하고 있는 상황에서 변수의 주소를 기억하기 위해 Debug모드로 접근합니다. 나는 " int 자료형을 가진 nData 변수의 메모리 주소" 를 0x010FF8C0 로 기억하고, 0x010FF8C0 주소를 가지고 포인터에 대하여 실습을 하려 하는데!!! 다시금 Debug 모드로 접근하게 되면 주소가 0x10FF8C0 -> 0x00F5FEA8 으로 변경되어있습니다.. 이.. 훈, IT 공부/C,C++,MFC 2018. 1. 3. [실습코딩] 정렬 코드화 하기 ( 버블, 선택, 선택으로 알려진 버블) 정렬을 해봅시다.버블정렬, 선택정렬, 선택정렬으로 알려진 버블정렬 '개인적으로 반지의 제왕에서 명장면 중 하나라 생각하는 펠렌노르 전투입니다. 잘 정렬 되어있는 로한의 기마부대가 보이십니까!!!?? 저희도 정렬한번 해보러 가보시죠버블정렬 ( Bubble Sort )버블정렬에서 오름차순 정렬은 첫 인덱스를 기준으로 하여서 다음 인덱스와 비교하여 다음 인덱스가 숫자가 적을 경우 바로 교환을 실시합니다. 그렇지 않다면 첫 기준 인덱스가 +1 되어 다시 서로 인접한 두 항을 계속해서 비교하는 방식입니다. 1234567891011121314151617181920212223242526272829#include int main(void){ //버블정렬 int nList[5] = { 90, 50, 119, 60, 41.. 훈, IT 공부/C,C++,MFC 2018. 1. 1. [실습코딩] 지그재그 숫자 찍어내기 지그재그 만들기 2차원 배열과 반복문을 이용한 지그재그 만들기 문제 2차원 배열에 순차적으로 숫자를 기입하는 것이 아니라 지그재그 형태로 숫자를 기입하여라. 아래의 사진과 값은 형태가 되면 된다. 코드12345678910111213141516171819202122232425262728#include int main(void){ int zigzeg[5][5] = { 0 }; int i = 0, j = 0; int count = 0; for (i = 0; i 훈, IT 공부/C,C++,MFC 2017. 12. 30. [실습코딩] 피라미드 별찍기 실습문제독하게 시작하는 c 프로그래밍 p242 , p261 참조해주세요 일반적인 피라미드 별찍기 이러한 !!! 피라미드를 만들어 봅시다. 흙과 돌이 아닌 콘솔에서... 키보드로 ㅎㅎ 지금부터 피라미드를 찍어봅시다~~! 첫 번째 문제 #촘촘한 별로 구성된 피라미드문제 코드12345678910111213#include int main(void){ for (int i = 0; i 훈, IT 공부/C,C++,MFC 2017. 12. 29. [기초바로잡기]형승격(type promotion) 형승격이란? 자료형을 연산하면 어떠한 자료형으로 형태가 변하게 됩니다. 이러한 과정을 형 승격이라 합니다. 예를들어 보겠습니다.int a = 10;double b = 10.0;printf("%d\n",a+b);printf("%f\n",a+b); 연산 결과 020.000000계속하려면 아무 키나 누르세요 . . . 연산 결과를 보면 a+b를 하게 되는데 결과 값은 형식문자 %d로는 출력이 되지 않고 %f 형식문자로 출력이 됩니다. 이러한 이유는 형 승격에 의한 것입니다. 형승격이 동작되는 방식은 연산을 하였을때 자료형의 크기가 더 큰 것을(표형범위가 넓은 형식) 따른다는 것입니다. int + double = double int 4byte double 8byte 이기에 자료형의 크기기 더 큰 double을 .. 훈, IT 공부/C,C++,MFC 2017. 12. 27. [실습코딩] 나이에 따른 분류 및 요금계산 ( 2분할 방식, 단계별 분류) 독하게 시작하는 C프로그래밍실습하기2분할 방식을 사용한 IF문 사용하기 조건 0 ~ 3살은 할인율 100%4 ~ 13살은 할인율 50%14 ~ 19살은 할인율 25%20살 이상은 할인율 0% 1234567891011121314151617181920212223242526272829303132333435363738394041#include int main(void){ // 버스요금 1000원 //if else 문을 이용하여 두번 중첩하여 2분할 방식으로 분류하여 구현 // 0~3 할인율 100% // 4~13 할인율 50% // 14~19 할인율 25% // 20~이상 할인율 0% double p_bus = 1000.0; // 버스요금 int in_user = 0; // 유저가 입력하는 값 int p_dat.. 훈, IT 공부/C,C++,MFC 2017. 12. 25. 삼항 연산자와 IF문 (별찍기) 삼항 연산자와 IF문 visual studio 2013 삼항 연산자와 IF문 무엇이 다를까? IF문과 삼항 연산자는 눈으로 보기에는 확연히 다릅니다.IF문 if( 비교연산 혹은 변수 ) { // 조건식이 참일경우수행 하려는 코드;}else { // 조건식이 참이 아닐경우수행하려는 코드;} IF문이 이런식으로 동작을 한다면, 삼항 연산자 말 그대로 3개의 항이 존재한다.피연산자의 숫자가 3개 라는 것이다. int a = 10;a > 10 ? 10 : 20; 첫번째 항에는 조건식? 뒤에 두번째 항에는 참일경우 리턴하게 될 자료형: 뒤의 세번째 항에는 거짓일 경우 리턴하게 될 자료형 피연산자가 연산식이라면 반드시 괄호로 묶어주어야 합니다.삼항연산자와 IF문, 디스어셈블리로 따져봅시다. 코드를 디스어셈블리로 한.. 훈, IT 공부/C,C++,MFC 2017. 12. 21. 이전 1 2 3 4 다음 반응형