Forensic/혼공C 챌린지 6

6주차 과제

혼공 8기로 마지막이네요 ㅎㅎ 많은 것을 배워왔지만...유독 습득이 늦은 챕터입니다.. "포인터" 악마입니다. 우리가 포인터를 배우기 전에 잠깐 지금가지 배운것을 정리를 해보면 변수 선언으로 메모리에 공간을 확보하고, 그곳을 데이터를 넣고 꺼내쓰는 공간으로 사용했습니다. 변수명은 확보된 메모리 공간을 식별할 수 있는 이름이였습니다. 그러나 변수는 블록, 함수 내부로 사용이 제한되어 있었습니다. 같은 변수명을 사용했다 하더라도 블록이나 함수가 다르면 "별도의 저장곤간을 확보" 하므로 전혀 다른 변수로 사용되는 것이죠...그래서 사용 범위를 벗어난 경우도 데이터를 공유할 수 있는 새로운 방법인 "포인터"의 개념에 배워보도록 하겠습니다. 메모리 주소 메모리라는 것은 우리가 데이터를 넣고 꺼내 쓰는 공간으로, ..

5주차 과제

배열 배열이라는 개념을 접하기 전에 지금까지 우리는 메모리에 저장 공간을 만들기 위해 변수라는 것을 사용했습니다. 예를 들어 사과 10개를 담기 위해 AppleBox라는 변수명으로 변수를 하나 만들어 줬습니다. 하지만 또 다른 예로 5과목의 점수를 처리하고 싶을 때는 kor, eng, math, sci, social 등 하나씩 다 변수를 지정해줬습니다. 이렇게 하나씩 변수를 선언하면 점수도 일일이 하나씩 넣어줘야 하는 번거로움이 있기 때문에 우리는 배열이라는 개념을 알고 있어야 합니다. 쉽게, 배열은 같은 형태의 많은 데이터를 반복하여 처리하기 위해서 메모리에 "연속적"으로 저장해놓고 쪼개서 사용하는 방법이라고 생각을 하시면 됩니다. 잘 이해가 안가시겠지만 예제로 보겠습니다. %p 서식 지정자에 대해서는..

4주차 과제

표준 라이브러리 함수 함수는 기능을 수행하는 코드 단위를 말합니다. 지금까지 사용해왔던 main 함수가 대표적인 함수입니다. 그리고 입.출력을 할 때 사용하던 printf()와 scanf()도 함수이고 특정 기능을 미리 약속하고 프로그램에서 바로 사용할 수 있게 구현되어 있는 함수입니다. 이런 함수처럼 프로그램에서 바로 사용할 수 있게 구현되어 있는 함수를 표준 라이브러리 함수라고 합니다. 그리고 이런 함수는 stdio.h 헤더 파일에 포함되어 있습니다. 함수를 정의할 때 필요한 3가지가 있습니다. (꼭 기억하셔야 합니다) 함수 정의 : 함수를 실제 코드로 만드는 것이며 기능을 구현합니다. 함수 호출 : 함수 호출을 해야지 함수를 사용할 수 있습니다. 함수 선언 : 프로그램의 상단에서 어떤 함수를 사용할..

3주차 과제

이번주는 Chapter 05 ~ 06에 대해서 배워보겠습니다. 먼저, 우리는 1~2주차에 다뤘던 내용들은 main함수를 읽어와서 항상 차레대로 실행되는 프로그램을 다뤄왔었습니다. 하지만 연산자를 배우면서 참, 거짓 조건을 다뤄 참이면 A값, 거짓이면 B값을 다루는 것은 했으나 깊게는 다루지 않았습니다. 그래서 이번에 배우는 제어문은 조건에 따라 실행하거나 실행하지 않아야 할 때 사용하는 함수들 입니다. if문(조건문, 제어문) if문은 말 그대로 만약에라는 뜻을 가지고 있습니다. 그리고 조건식과 실행문으로 나뉘는데 예를 한번 보겠습니다. "크리스마스 때까지 여자친구가 없으면", "친구가 소개팅을 주선해준다" 라고 했다고 가정합시다. 여기서 조건문과 실행문을 나뉘어 보겠습니다. 조건문 : 크리스마스 때까지..

2주차 과제

이번에 해야 할 주차는 2주차 입니다. 3장과 4장에 대한 내용을 설명을 하겠습니다. 변수 변수는, 프로그램에서 데이터를 메모리에 저장하기 위해 사용되는 일련의 번호박스입니다. 예를 들어 택배를 하나 받았다고 생각을 해봅시다. 우리가 옷을 주문하고 주문한 옷이 택배 박스로 왔을 때 안에 들어있는 내용물은 아! 옷이 들어있구나 하고 뜯어볼 것 입니다. 이처럼 내용물을 저장할 수 있는 박스가 일종의 변수가 되는 것입니다. 그림을 보겠습니다. 똑같이 박스와 옷을 기준으로 설명을 하면 A박스에 옷 대신에 10이라는 값이 들어있다고 생각하시면 됩니다. 일단 변수에 대해서는 이정도만 하고 나중에 코드로 보여드리겠습니다. 변수를 선언하기 위해서는 자료형을 알아야 합니다. C언어에서 자료형은 int(정수), float..

1주차 과제

혼공단 6기를 수료하였고, 다시 8기로 돌아오긴 했는데 이미 vs가 설치가 되어있기 때문에 과정은 생략하겠습니다. 01.1 프로그램과 C언어 프로그램은 일의 순서를 뜻합니다. 즉, 우리가 영화 프로그램을 본다고 가정했을 때 순서는 다음과 같습니다. 1. 영화관을 간다. 2. 티켓을 산다. 3. 간식을 산다. 4. 상영실에 입장한다. 5. 영화를 본다. 이렇게 순서를 나뉘어 볼 수 있는데, 이런 방법은 한글로 적어놨기 때문에 컴퓨터가 이해를 할 수 없는 표현입니다. 그래서 우리가 배우는 프로그래밍 언어는 컴퓨터가 이해할 수 있는 정확한 표현의 규칙을 정의해 놓은 언어입니다. 01.1.1 C언어의 장점 C언어의 장점은 크게 3가지로 분류가 됩니다. 1. 시스템 프로그래밍이 가능합니다. - ..