일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 개발자
- 공리
- 문법
- 코딩
- C
- Engineer
- It
- language
- c++
- University
- Axiom
- coding
- Syntax
- Developer
- Mathmetics
- Programming
- 컴공
- Binary
- 구조체
- 증명
- structure
- 이진수
- computer
- Engineering
- proof
- Proposition
- primitive notion
- 프로그래밍
- 정리
- C언어
- Today
- Total
목록전체 글 (17)
Study Note

이전 글에서 같은 자료형의 데이터들을 일괄적으로 처리할 수 있는 자료구조인 배열에 대해 배웠습니다. 하지만 코딩을 하다보면 때론 다른 자료형의 데이터들을 묶어 처리하면 더욱 편리하게 사용할 수 있습니다. 이번 글에선 이를 위한 자료구조인 구조체(structure)에 대해 다뤄보도록 하겠습니다. 구조체(Structure) 구조체는 새롭게 만들 때 마다 그 묶음에 포함되는 자료가 다르기 때문에 함수와 같이 정의를 하는 단계가 필요합니다. 정의 방법은 다음과 같습니다. 먼저, struct는 고정적으로 작성해주어야 합니다. 이어서 태그는 구조체의 이름으로, 자료의 묶음을 식별화 하기 위해 필요합니다. 그리고 중괄호로 자료를 작성합니다. 구조체에 포함되는 자료를 각각 멤버라고 말하며 변수의 선언과 같이 자료형을 ..

많은 데이터를 다룰 때, 각각 변수를 만들어 사용해야 한다면 여간 번거로운 일이 아닐 것입니다. 이를 위해 이번 글에선 기본 자료구조(data structure)인 배열(array)에 대해 소개하려고 합니다. 배열(Array) 배열은 같은 자료형의 데이터들을 저장할 수 있는 자료구조입니다. 변수와 마찬가지로 배열의 이름이 필요하며 하나의 이름으로 다중 데이터들에 접근하기 위해 index를 사용하며 각각의 값을 요소(element)라 합니다. 우선 배열의 기본 선언 방식은 다음과 같습니다. 선언된 자료형의 데이터들을 배열크기에 해당하는 수 만큼 담을 수 있는 배열이 생성되는 것입니다. 다만 위와 같은 기본적인 선언에서 배열의 크기는 반드시 상수 자연수만 가능합니다. 특히 비워두거나 변수를 사용할 수 없습니..

수학이란 무엇일까? 수학이란 학문은 인류와 오랜 역사를 함께했음에도 불구하고 통상적인 정의를 찾아보기가 힘들다. 하물며 전공자도 아닌 취미로나마 공부하는 필자에게도 쉬운 질문일 리가 없다. 하지만 본격적으로 포스팅을 하기에 앞서 수학을 어떤 방식으로 학습해 나갈 지 새겨두는 것이 좋을 듯 하다. 수학(Mathematics, 數學) 개인적으로 수학은 '모든'이라는 단어에 집착하는 학문이라 생각한다. 그 만큼 이상적이며, 그 만큼 엄밀하다. 이를 위해 수학에서 채택한 방법이 바로 추상성과 연역논증이다. 먼저 추상성에 대해서는 크게 두 가지로 구분할 수 있다. 1과 같이 자연의 속성을 추상화해온 방법이 있고, -1과 같이 실재하지 않는 대상을 필요 혹은 확장에 의해 추상화하는 방법이 있다. 특히 후자의 경우 ..

이번 글에선 C/C++의 하이라이트인 포인트의 기본 개념을 다룰 것입니다. 사실 포인터는 다른 언어들에서도 프로그래머가 직접 사용하지 않을 뿐 내부적으로 사용되곤 합니다. 그럼에도 C/C++에서 포인터가 강조되는 이유는 바로 직접 사용이 가능하기 때문인데요, 그 중요도만큼이나 단순한 개념 나열이 아닌 하나씩 의미를 짚어보며 학습하는 것을 권장합니다. 메모리란? 저장 공간 혹은 기억 장치라고도 불리는 메모리(Memory)는 데이터를 담아두는 물리적인(하드웨어) 공간을 의미합니다. 예를 들어 변수가 선언되면 해당 변수를 위한 메모리 상의 공간이 책정되어 그 공간에 값을 실제로 저장하게 되는 것입니다. 이처럼 메모리는 데이터를 기록하고, 기록한 데이터를 읽어내기도 합니다. 이를 위해서 필요한 것이 바로 주소(..

우리는 여태까지 변수를 사용하면서 의도하였든 그렇지 않았든 그 속성을 구분하면서 사용해왔습니다. 자료형, 변수 이름, 변수 값 등이 속성에 해당됩니다. 이번 글에서는 추가적으로 세 가지의 변수 속성을 알아보도록 하겠습니다. 범위(scope) #include using namespace std; int global_variable = 1; // 전역 변수 int main() { int local_variable = 2; // 지역 변수 } 가시성(visibility)이라고도 불리는 범위는 변수가 어떤 범위에서 사용이 가능한지 의미하는 속성으로, 별다른 수식어가 필요 없이 변수가 선언되는 위치에 의하여 결정됩니다. 즉, 변수가 항상 프로그램의 시작부터 끝까지 존재하는 것이 아니라 각각 생성 시각과 소멸 시각..

프로그래밍은 단순히 코드를 작성하여 프로그램을 만드는 것에서 멈추지 않고 이후 사용하면서 생기는 문제들을 해결하는 유지보수의 과정이 있습니다. 즉, 작성했던 코드를 다시 봐야할 일이 생기는 것이죠. 뿐만아니라 팀 단위 프로젝트에서의 협업의 과정에서도 다른 사람의 코드를 읽어야 할 경우도 있습니다. 이렇게 코드를 읽는 일은 빈번하게 발생합니다. 그래서 코딩 과정에서 코드를 읽기 쉬운 형태로 작성하는 것은 매우 중요한 일입니다. 따라서 이번 글에서는 이를 위한 구성요소인 함수(function)에 대해 알아보도록 하겠습니다. 함수란? procedure 혹은 subroutine이라고도 불리는 함수는 특정 기능을 하는 문장들을 키워드로 치환하여 미리 정의해 둔 뒤, 이후 해당 기능이 사용될 때마다 문장들이 아닌 ..

컴퓨터의 가치를 높여주는 기능은 여러가지가 있지만 그 중에서도 빠른 반복은 꽤 높은 순위에 위치할 것입니다. 이번 글에서 소개할 반복문(repetitive statement) 또한 제어문 중 하나로, 그 구조를 배워보겠습니다. 반복문이란? 반복문은 loop라고도 불리며, 문장들을 차례로 수행하는 순차 구조에서 벗어나 특정 문장들을 특정 조건하에 계속 반복하는 역할을 해주는 하나의 문장입니다. C언어에서 흔히 사용하는 반복문에는 while, do-while, for 3가지가 있습니다. while loop while loop는 특정 조건이 참인 동안 계속하여 반복을 실행하는 문장구조를 갖습니다. 그 구조는다음과 같습니다. 먼저 조건식의 결과값이 참인지 거짓인지 판별한 뒤 참인 경우에 문장 n들을 수행합니다...

코딩을 하다보면 이전 글에서와 같이 한 문장씩 차례로 수행하는 구조만으론 문제를 해결하기 어려운 상황이 많이 발생합니다. 이렇게 문장의 수행 순서를 바꿔야 하는 경우 사용하는 문장을 제어문(control statement)이라고 합니다. 이번 글에서는 제어문 중 하나인 조건문(conditional statement)에 대해 배워보도록 하겠습니다. 조건문이란? 대부분의 프로그램은 프로그래머 혹은 사용자의 입력 데이터를 연산해가며 실행됩니다. 즉, 하나의 프로그램이 각각의 초기 데이터의 따라 다른 상황으로 흘러갈 수 있다는 것이죠. 이런 대부분의 프로그램 중 또 대다수는 각기 다른 상황에서 각각 다른 수행을 해야합니다. 이렇게 일종의 평행세계를 열어주는 문장을 조건문이라고 합니다. 조건문은 크게 if문과 s..