일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- HTML5.
- 물리학
- 리브레위키
- javascript
- html
- 프로그래밍
- 확률
- 나무위키
- 오늘의 문제
- Nemeth Braille
- C++
- 점자
- 자바스크립트
- 선형대수학
- matlab
- 글이_점점_짧아지고_있습니다.
- LaTeX
- C
- CSS
- 프로그래밍 언어
- 수학
- ┌─┐
- Inkscape
- C언어
- css3
- html5
- IT
- 위키
- Java
- python
- Today
- Total
목록C언어 (26)
SturdyCobble's Study Note
이 글은 C++의 레퍼런스에 대해 다룹니다. C/C++의 포인터도 약간 다룹니다. C++에서 Reference는 Pointer와 같이 변수를 간접적으로 접근할 수 있게 하는 역할을 합니다. 하지만, 그 자체에 메모리 주소를 저장하는 것이 아니라, 하나의 별명을 만드는 것처럼 작동합니다. 사실 포인터를 통해 내부적으로 레퍼런스가 구현될 수 있지만, 레퍼런스 만의 장점이 있어서 종종 이용됩니다. int var = 10; int& ref_var = var; cout
※이 글은 프로그래밍 언어에 대한 기초적인 이해를 가정하고 있습니다. 최소 프로그래밍 언어 하나 정도를 약간이라도 접해보시는 것을 추천합니다. 또한, 이 글은 심화 내용은 되도록 피하여 서술했습니다. 이번 글에서는 포인터를 간단하게 활용하고, 연산하는 방법을 알아보겠습니다. 포인터는 기본적으로 주소이므로 숫자를 저장하고 있습니다. 따라서 그냥 덧셈, 뺄셈 다 될 것 같지만, 그렇지 않습니다. 실수로 잘못된 주소를 건드리는 경우가 있을 수도 있기에 주소를 주소로 곱하는 일은 허용되지 않습니다. 비슷한 이유로 사칙연산 중에서 포인터와 숫자 사이 덧셈과 뺄셈, 포인터와 포인터 사이 뺄셈만이 가능합니다. 각 연산의 결과는 다음과 같은 그림으로 표현할 수 있습니다. (물론 포인터 사이에는 타입이 맞아야 합니다.)..
※이 글은 프로그래밍 언어에 대한 기초적인 이해를 가정하고 있습니다. 최소 프로그래밍 언어 하나 정도를 약간이라도 접해보시는 것을 추천합니다. 또한, 이 글은 심화 내용은 되도록 피하여 서술했습니다. 포인터는 C/C++에 존재하는 개념입니다. 포인터에 대한 설명을 Wikipedia에서 가져와 봤습니다. 밍 언어에 대한 기초적인 이해를 가정하고 있습니다. 최소 프로그래밍 언어 하나 정도를 약간이라도 접해보시는 것을 추천합니다. 또한, 이 글은 심화 내용은 되도록 피하여 서술했습니다. 포인터는 C/C++에 존재하는 개념입니다. 포인터에 대한 설명을 Wikipedia에서 가져와 봤습니다. ■ pointer is a programming language object that stores a memory addr..
※이 글은 프로그래밍 언어에 대한 기초적인 이해를 가정하고 있습니다. 최소 프로그래밍 언어 하나 정도를 약간이라도 접해보시는 것을 추천합니다. 또한, 이 글은 심화 내용은 되도록 피하여 서술했습니다. (제목의 기억 부류 지정자는 Storage Class Specifier를 번역한 것입니다. 기억 영역 클래스 지정자, 기억 클래스 지정자 등 다양한 번역이 존재하지만, 클래스라고 번역하는 것은 class 키워드로 지정되는 그 클래스와 혼동될 우려가 있어 위의 용어로 사용하였습니다. Microsoft Docs에서는 스토리지 클래스 지정자로 표기하고 있습니다.) 이번 글에서는 register, volatile 지정자와 메모리에 관한 내용을 다룹니다. 사실 volatile 지정자는 C언어의 기억 부류 지정자로 분..
※이 글은 프로그래밍 언어에 대한 기초적인 이해를 가정하고 있습니다. 최소 프로그래밍 언어 하나 정도를 약간이라도 접해보시는 것을 추천합니다. 또한, 이 글은 심화 내용은 되도록 피하여 서술했습니다. 정적(static) 변수는 말 그대로 정적인 공간에 기억되는 변수입니다. 일반적인 지역 변수와는 다르게 프로그램 실행 내내 그 값이 유지될 수 있는 장점이 있습니다. 전역 변수와 비슷해보이지만, 전역변수와는 다르게 정적 변수는 지역 변수와 같이 통용되는 범위가 제한됩니다. 선언되는 지역도 지역변수와 동일합니다. 두 기억 부류의 특징을 둘 다 가졌기에, 둘의 장점을 결합하여 다음과 같은 예시를 가능하게 합니다. # include using namespace std; void counter(); int main..
※이 글은 프로그래밍 언어에 대한 기초적인 이해를 가정하고 있습니다. 최소 프로그래밍 언어 하나 정도를 약간이라도 접해보시는 것을 추천합니다. 또한, 이 글은 심화 내용은 되도록 피하여 서술했습니다. 저번 글에서 인스턴스 변수에 대해 알아보았습니다. 이번 글에선 클래스 변수에 대해 이어서 알아보겠습니다. 인스턴스 변수는 인스턴스에 딸려오는 변수라면, 클래스 변수는 클래스 자체에 있는 변수에 접근하는 것이므로, 모든 인스턴스에 일괄적인 적용이 가능합니다. 다만, 만약 클래스 변수와 인스턴스 변수의 값이 다르다면, 인스턴스 변수로 접근할 때는 인스턴스 변수가 가지고 있는 값이, 클래스 변수로 접근할 때는 클래스 변수가 가지는 값을 사용하게 됩니다. 클래스 변수는 다음과 같이 사용합니다. 클래스명.변수 클래스..
※이 글은 프로그래밍 언어에 대한 기초적인 이해를 가정하고 있습니다. 최소 프로그래밍 언어 하나 정도를 약간이라도 접해보시는 것을 추천합니다. 또한, 이 글은 심화 내용은 되도록 피하여 서술했습니다. 클래스(Class)는 객체 지향 언에에만 존재하는 독특한 문법입니다.(즉 이번 글에는 순수한 C언어를 다루지 않습니다.) 사실 기본적인 틀은 아직 이 글에서는 다루지 않은 C언어의 구조체와 닮았지만, 해당 문법이 C/C++에만 존재하는 관계로 (실제로는 어떤 언어든 구조체와 비슷한 문법을 구현하는 건 가능합니다.) 먼저 클래스에 대해 짚고 넘어가려고 합니다. 흔히 클래스에 대해 검색하거나 책을 보게 되면, 클래스를 붕어빵 찍는 틀과 같이 '틀'에 비유하는 경우를 볼 수 있습니다. 이는 클래스의 기본적인 특성..
※이 글은 프로그래밍 언어에 대한 기초적인 이해를 가정하고 있습니다. 최소 프로그래밍 언어 하나 정도를 약간이라도 접해보시는 것을 추천합니다. 또한, 이 글은 심화 내용은 되도록 피하여 서술했습니다. (객체 지향과 절차 지향 언어를 동시에 다루기에 메소드를 보다 앞에서 설명하였습니다. 그러나 본 글의 메소드에 대한 내용은 상당히 생략되었습니다. 클래스와 메소드에 관해서는 다음 글에서 더 자세히 다루겠습니다.) 함수와 메소드는 모두 특정 동작이나 연산을 진행하게 하는 코드의 일부분으로서, 커다란 프로그램의 부속품과 같은 역할을 합니다. 한번 만들면 반복적으로 불러내어 호출할 수도 있으며, 입력값을 넣어서 값을 얻어내는 것도 가능합니다. 그러나 메소드(또는 C++의 경우 멤버 함수)는 객체의 일부분으로서 동..
※이 글은 프로그래밍 언어에 대한 기초적인 이해를 가정하고 있습니다. 최소 프로그래밍 언어 하나 정도를 약간이라도 접해보시는 것을 추천합니다. 또한, 이 글은 심화 내용은 되도록 피하여 서술했습니다. 이번 글에서는 다음과 같은 연산자들을 소개합니다. Java C/C++ Python 삼항 조건 연산자 O O □ 캐스트 연산자 O O O 그외 몇가지 특수한 연산자를 다룹니다 먼저 다른 연산자에 앞서 쉼표와 괄호에 대해서 짚고 넘어가겠습니다. 쉼표는 Python의 경우 다음과 같이 사용되는 것이 가능합니다. var1, var2 = 10, 11 다른 언어에서는 불가능한 내용입니다. 다만, C/C++과 Java에서는 다음과 같은 식이 가능합니다. int a = 10, b = 31; 또한, C/C++에서는 하나의 ..
※이 글은 프로그래밍 언어에 대한 기초적인 이해를 가정하고 있습니다. 최소 프로그래밍 언어 하나 정도를 약간이라도 접해보시는 것을 추천합니다. 또한, 이 글은 심화 내용은 되도록 피하여 서술했습니다. 이번 글에서는 관계, 논리, 비트 연산자와 관련된 내용에 대해 소개하려고 합니다. 먼저 관계 연산자와 논리 연산자는 if문 글에서 이미 자세히 설명한 바 있습니다. 그렇기 때문에 각각에 대한 설명은 생략하겠습니다. 다만 여러 연산자를 혼합해서 설명했기 때문에, 표로서 다음과 같이 정리해 보여드리겠습니다. 예전 글 링크: 2019/08/03 - [프로그래밍/프로그래밍101] - [프로그래밍] 3.1 제어문(1) - if문 분류 연산자 설명 C/C++, Java 연산자 Python 연산자 관계 좌변 > 우변인지..