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

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

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

이번 글에선 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..

형변환(Type conversion)이란 데이터의 자료형이 바뀌는 것을 의미합니다. 이런 형변환에는 크게 컴파일러에 의해 자동적으로 수행되는 묵시적 형변환이 있고, 프로그래머가 직접적으로 변경하는 명시적 형변환이 있습니다. 묵시적 형변환 묵시적 형변환은 자동적 형변환이라고도 불리는 형변환으로 크게 세 가지가 있습니다. 첫째로 대입 연산시 일어나는 형변환이 있습니다. 저장할 변수의 자료형과 저장될 데이터의 자료형이 다른 경우 일어나는 형변환 입니다. 여기서 저장될 데이터가 저장할 변수의 자료형으로 바뀌는데, 데이터의 크기가 더 작은 경우 올림 변환(promotion), 데이터의 크기가 더 큰 경우 내림 변환(demotion)이 발생합니다. 올림 변환은 크게 문제가 되지 않지만, 내림 변환은 데이터 손실을 ..