목록C (25)
Prosto
'포인터(Pointer) - 특정 변수(의 주소)를 가리키는 역할을 하는 변수!' 프로그래밍을 하다보면 main에서 한번 만들어둔 변수 값을 다른 함수에도 그대로 사용하고, 또 변경하고싶은 경우가 있을 수 있습니다.같은 지역(main 내)에 있는 변수라면 사용, 변경은 간단하지만,같은 지역이 아닌 경우(main 외 호출된 함수)는 해당 값을 임시 변수로 받아 반환하는 식으로 처리하게 됩니다.이런 때 좀 더 효율적으로 처리할..
'const, 변경할 수 없게 상수처럼 만들어라.'이번 시간에는 const(상수화)에 대하여 알아보도록 하겠습니다.const는 실제 문제를 내놓기도 애매하니예제 두 가지를 가지고 const에 대하여 배워보도록 하겠습니다.const, 들어보셨을 수도 있고, 처음 보셨을 수도 있습니다.그럼 이 const 키워드는 어떤 때 사용하고, 왜 사용하는지 알아볼까요?일단, 상수화라고 하니 상수란 무엇인지 알아봅시다.간단한 정의지만,우리는 프로그..
배열에 대한 연습 문제를 풀어보는 네 번째 시간입니다. (이번엔 1차원 배열)전 시간까지는 규칙을 찾고 로직을 구성하는 문제들이었지만,이번 시간부터는 배열과 반복문, 조건문을 이용하여 특정 문제를 해결하면 됩니다.그럼, 이번에는 순위를 구하는 문제를 풀어보도록 하겠습니다.문제에 대한 설명과, 완성된 소스는 제공합니다.소스에서 설명이 필요한 부분은 주석이나 별도의 코멘트를 달아 설명하도록 하겠습니다.문제는 두 가지입니다. 첫 번째는 배열이 가..
재귀적 호출 함수를 이해하기 위해선사용자 정의 함수를 먼저 알고있어야 합니다.(잘 모르신다면 아래 글을 참고해주세요.)'사용자 정의 함수의 이해와 예제, 문제 -C언어'이번에는 재귀적 호출 함수에 대하여 알아보도록 하겠습니다. 재귀적 호출 함수란 무엇일까요? 말그대로 재귀(再歸 : 원래의 자리로 되돌아가거나 되돌아옴) 함수입니다. 함수에서 다른 함수를 호출하는 게 가능하다는 걸 알고 계시죠? 여기서 달라..
'사용자 정의 함수 - 이미 만들어진 함수를 사용하듯 직접 새로운 함수를 정의하여 사용하는 방법!'프로그래밍을 하다보면 같은 작업을 변수 몇 가지만 바뀌어서 처리하거나,특정 기능을 만들어서 필요할 때마다 사용하고 싶은 경우가 있습니다.그런 때 사용할 수 있도록 해주는 게 사용자 정의 함수입니다.지금까지 우리가 배웠던 것들을 그대로 함수로 만들 수 있습니다.예를 들면, 두 수를 전달해주면 더하기 기능을 해주는 함수를 만들 수도 있고, 구구단 ..
'빠르게 정렬하는 방법으로 가장 많이 사용되는 퀵정렬' 퀵 정렬은 빠른 정렬이나 퀵 소트(Quick Sort)라고도 부릅니다. 퀵 정렬(Qucik Sort)는 데이터를 정렬하는 방법 중 하나입니다. 데이터를 분할(Divide)하고 분할된 부분 별로 이동하는 정복(Conquer) 과정을 반복하여 거쳐 정렬하는 방법입니다. (지금까지의 정렬들과 달리 조금은 복잡합니다만 보고, 직접 해보며 이해할 ..
'검색할 범위를 반으로 줄여가며 찾아가는 이분 검색(Binary Search)' 이분 검색은 검색할 자료를 반씩 나누어 나머지 반만 검색하는 방식을 반복하여 자료를 찾는 검색(탐색) 방법입니다. 이 이분 검색을 이용하여 자료를 찾는다면 빠른 속도로 원하는 자료를 찾을 수 있습니다. (단, 이분 검색은 정렬되어있는 데이터에 사용할 수 있습니다.) (정렬 방법은 블로그 내의 다른 글을 참고하시면 도움이 될 ..
'맞는 위치에 삽입시켜가며 정렬하는 삽입정렬' 삽입정렬은 Insertion Sort라고도 부르며 데이터 정렬 방법 중 하나입니다. 키(key) 값을 가지고 정렬시키는 삽입 정렬은 두 번째 자료부터 시작하여 그 앞의 자료들과 비교하여 알맞은 위치로 삽입하는 형태의 정렬입니다. (배열로 보는 경우 삽입이라면 뒤의 자료들은 한 칸씩 밀리는 형태가 되겠죠?) (아래 데이터 이동 그림을 보시면 이해하시기..
'보글보글 거품 같이 차례차례 정렬하는 버블정렬' 버블정렬은 거품정렬이나 버블소트(Bubble Sort)라고도 부릅니다. 버블정렬은 데이터 정렬을 하는 방법 중 하나입니다. 첫 번째 자료와 두 번째 자료, 두 번째 자료와 세 번째 자료, 세번째와 네 번째 자료를 비교하는 식으로 정렬을 진행합니다. (아래 그림 보시면 이해가 빠를 겁니다.) &..