본문 바로가기

c언어 메모리7

C언어 - [동시실행, 스레드, 쓰레드, Thread] ▣ 안녕하세요. 이번장에서는 스레드를 공부해보도록 하겠습니다. 우선 스레드(쓰레드)가 무엇인지 이야기해 보록 하겠습니다. 스레드는 프로세서 내에서 실행되는 흐름, 단위, 갈래를 이야기합니다. ▣ 그럼 여기서 또 다른 질문이 생깁니다. 프로세서가 무엇일까요? 우리가 디버그로 컴파일 과정을 진행하면 링커를 통해서 exe로 프로그램을 만듭니다. 프로세서는 이런 프로그램을 실행되서 돌아가는 상태 컴퓨터가 일하고 처리하는 상태를 이야기합니다. ▣ 그럼 스레드는 무엇일까요? 프로세서는 하나의 일만 처리할 수 있습니다. 그래서 여러개의 스레드로 여러 개에 일을 처리하게 합니다. 이걸 멀티스레드라고 합니다. ▣ 윈도우에서 CTRL + ALT + Delete 키를 누르면 이렇게 프로세서에 여러개의 프로그램을 돌리고 있는.. 2021. 9. 15.
C언어 - [malloc, 메모리할당, memset] ▣ 메모리를 할당하려면 먼저 #include 를 선언해주세요. 그리고 주소를 저장하는 변수 포인터에 malloc(sizeof(int))함수로 메모리를 할당해주세요. 그럼 int 4byte만큼 메모리가 할당되고 그 메모리에 주소 값이 포인터에 대입이 됩니다. 그리고 %p 형식으로 메모리 주소를 확인해보면 이렇게 각각에 주소가 나오는 걸 확인할 수 있습니다. ▣ 여기서 기억해야 할껀 malloc()함수의 원형 형태는 void * malloc(size)입니다. 그렇기 때문에 void 반환형이 없다라는 자료형이므로 만약 int*주소를 반환하고 싶다면 (int*)malloc(size)로 코딩을 진행해야 합ㄴ디ㅏ. ▣ 직접 중단점을 찍고 디버그를 해서 메모리를 확인해보겠습니다. p2에 값을 확인해보면 이렇게 4by.. 2021. 5. 17.
C언어 24장(c언어 게임만들기_2.5, 응용 함수, 전역변수, 조건문 활용, 콘솔글자색 바꾸기, 배경색) ▣ 안녕하세요 ^^ 게임 잘 만들고 계신가요? 오류가 나고 많이 안 되는 부분들이 있으셨을 거라 생각합니다. 그 과정이 필요합니다. 코딩은 자꾸 틀리고 다시 읽어보고 고치고 하는 과정들이 필요합니다. 인내해 주세요~~ 어느새 여러분들이 많이 성장했을 겁니다. 도움이 필요하시면 방명록이나 댓글 남겨주세요~~ ▣ 오늘은 간단하게 몬스터가 등장하고 몬스터를 공격하는 코딩을 간단하게 진행해 보겠습니다. ▣ 공부하시다가 주의하실 부분은 최적화와 코딩에 가독성을 많이 생각하지 않고, 단순히 쉽게 게임을 만든다라는 목표로 게임 만들기 장을 구성했으니 이점 참고하시고 공부해 주세요~~ 제 코딩이 정답이 절대 아닙니다!!! ▣ 먼저 게임 정보를 좀 더 추가해 보겠습니다. player Hp와 공격 및 아이템 획득 문구를 .. 2020. 6. 8.
C언어 18장_3(포인터, 다중포인터, 다차원 배열) ▣ 안녕하세요^^ 저번 시간에 포인터 두 번째 장 숙제 잘해보셨나요?? 여러분들에 무거운 얼굴이 보이네요 ^^;;; ▣ 하지만 여러분들은 지금 이 장을 열었다는 건 완벽하게 이해하지는 못해도 어쨌든 끝까지 포기하지 않고 하고 계시다는 이야기겠죠? 잘하시고 계십니다. 포기하지 마세요!!! 할 수 있습니다!!! 제가 이번장에서 포인터를 끝내도 다른 부분을 진행할 때 아니면 많이 틀리는 예제들이나 문제들을 한번 같이 공부해보는 장도 만들겠습니다. 그러니 한 번에 이해하지 못했다고 해서 실망하지 마세요. ▣ 그리고 제가 계속 말씀드리지만, 꼭 제 블로그로만 공부를 끝내시면 안 됩니다. 모든 분들이 가르치는 방법과 노하우와 그리고 경험이 다르기 때문에 꼭 좋은 여러 강사님들 자료를 보시면서 함께 공부해주세요. 제.. 2020. 5. 15.
C언어 17장_2(포인터, 메모리, 메모리할당, 정적변수, 리틀엔디안, malloc, memcpy, memcmp, memset, strstr) ▣ 안녕하세요^^ 저번장에 포인터 숙제 열심히 해보셨나요?? 꼼꼼하게 읽으면서 따라오셨다면 충분히 하셨을 거라 생각합니다. 그럼 오늘은 포인터 두번째로 공부해보겠습니다. 먼저 저번장에서 이야기했던 부분을 한번 보충해서 설명해보겠습니다. ▣ 저번장에 이 코드를 기억하시나요? 제가 *pList안에 number에 주소를 넣고 우리가 디버 그해서 pList메모리 주소에 있는 값을 확인했습니다. 그때 제가 주소값이 거꾸로 들어간 것에 대해 다시 설명해드린다고 했습니다. 이 부분을 설명해보겠습니다. ▣엔디언 이라는 말이 있습니다. 위키백과에서는 엔디언(Endianness)은 컴퓨터의 메모리와 같은 1차원의 공간에 여러 개의 연속된 대상을 배열하는 방법을 뜻하며, 바이트를 배열하는 방법을 특히 바이트 순서(Byte .. 2020. 5. 13.
C언어 16장_1(포인터, 메모리) ▣ 안녕하세요 ^^ 저번장에 함수 해보셨나요?? 어렵죠? 많이 ㅠ.ㅠ 하지만 포기하지 마세요!!! 하실 수 있습니다. 제가 처 음장에서 이야기한 것처럼 코딩을 꼼꼼하게 읽는 훈련을 하시면서 반복적으로 사고하고 코딩하시면 할 수 있습니다. 어려우신 게 있으시면 댓글 남겨주세요. ▣ 자 오늘은 C언어를 공부할 때 가장 어려워하는 포인터를 진행해보겠습니다. 포인터를 진행하면서 메모리에 대한 이야기도 하겠습니다. 이 부분은 할 이야기가 많아 챕터를 나누겠습니다. ▣ 제가 이걸 준비하면서 여러 책과 좋은 강사님들에 자료를 많이 읽어보고 저도 다시 공부해보았습니다. 가능하면 쉽게 설명하도록 하겠지만 여러분들이 꼭 하셔야 할 건 꼼꼼하게 코딩을 읽는 훈련을 하셔야 한다는 겁니다. 그냥 보고 무작정 어렵다고 포기하시면.. 2020. 5. 11.
C언어 14장(배열, 문자열, Array, Null terminated) ▣ 안녕하세요^^ 저번 시간에 숙제는 해보셨죠?? for 별찍기와 완성한 코딩을 해석해보는 것까지가 숙제였습니다. 많이 어려우셨겠지만 모두 다 해내셨을 거라 생각합니다. 아 그리고 30분이상 고민했는데 정말 안된다 노트에 쓰고해도 안된다고 하시면 정말 많은 좋은 분들에 자료가 있습니다. 코딩을 한번 참고해주시고 그걸 해석하면서 공부하고 다시 자신만에 코딩으로 만들어보세요. 그래야 실력이 늘어납니다. 다른분들이 만든 코딩에 코드를 외우시면 안 됩니다.!!! 그럼 오늘 배열에 대해서 배워보겠습니다. ▣ 제가 scanf_s 입출력을 했을 때 잠깐 공부했습니다. 하지만 오늘은 좀 더 깊이 코딩을 진행해보겠습니다. 먼저 배열이 왜 필요한지 알아보겠습니다. ▣ 자 우리가 각각 이렇게 변수를 여러 개 만들어서 값을 .. 2020. 5. 4.