목록분류 전체보기 (98)
OneDev

다른 블로그 후기글들을 보면 42서울에 대한 자세한 설명들을 해놓으신 분들이 많던데 저는 생략하도록 하겠습니다(이미 알고오신분들이 많을거라 믿고...) ◎ 온라인테스트 - 1단계 :기억력 테스트 n x n 형태의 타일들이 주어지고(단계별로 점점 규모가 커짐) 각 단계별로 타일들이 깜박입니다. 이 순서를 기억해 그대로 입력하면 되는 간단한 테스트입니다. 커트라인은 모르겠습니다. 2단계 논리력 테스트가 더 중요해보이니 별로 부담가지지 마시고 편안하게 보시는걸 권장드립니다. - 2단계 : 논리력(?)테스트 그림의 좌측 하단에 보면 비행기가 보일텐데, 이 비행기를 적당히 조작해 맵의 모든 별을 먹으면 클리어되는 구조입니다. 단계별로 사용가능한 커맨드(회전, 이동 등등등) 이 주어지는데 이를 적절히 활용하면 되는..

▣ 목차 1. 함수란? 2. main 함수 3. 함수 정의하기 4. 함수의 인자(argument) / 매개변수(parameter) 5. 함수 사용하기 6. 포인터로 받는 인자 7. 함수의 원형 1. 함수란? 프로그래밍에서 말하는 함수(function)란 하나의 특별한 목적을 수행하기 위해 설계된 코드들의 집합 으로 정의할 수 있다. C언어에서 함수는 크게 ①표준 함수와 ②사용자 정의 함수로 구분된다. 함수의 사용목적은 여러가지가 있겠지만, 가장 주된 목적은 반복작업에 있다. 자주 사용될만한 기능을 가진 코드를 함수로 정의해두면, 불필요한 반복노동을 피할 수 있고 소스코드의 가독성까지 좋아진다. 2. main 함수 C프로그램을 실행할 때 컴퓨터는 main 함수부터 찾는다. 즉, 컴퓨터는 프로그램을 실행할 ..

▣ 서론 메모리 관리는 언제나 중요한 문제이다. 프로그램이 정확히 실행되기 위해서는 컴파일 시 모든 변수의 주소값이 확정되어야만 했는데, 이를 위해서 프로그램에 많은 제약이 따랐다. 이에 프로그램 실행시 자유롭게 할당하고 해제할 수 있는 힙(Heap) 이라는 공간이 따로 생겼다. 컴파일러에 의해 안정성이 보장되는 스택(Stack) 과 달리 힙은 사용자가 스스로 제어해야 하기 때문에 책임이 다른다. C 언어에서는 힙 상에서의 메모리 할당과 해제를 위해 malloc 함수와 free 함수를 지원하였다면, C++ 언에 차원에서 지원하는 것이 new 와 delete 이다. (물론 C++에서도 malloc 과 free 를 사용할 수 있다) new 는 malloc에 대응되는 것으로 메모리를 할당하고, delete 는..

1. 참조자(레퍼런스)란? C 언어에서는 어떤 변수를 가리키고자 할 때 포인터를 사용해야 했다. C++ 에서는어떤 변수나 상수를 가리키는 또다른 방법을 제공하는데, 이를 참조자(혹은 레퍼런스) 라 한다. 레퍼런스(reference : 참조) 라는 이름에서 알 수 있듯이 참조의 의미를 가지는 자료구조이다. 2. 레퍼런스 변수의 선언 참조자(레퍼런스) 의 선언은 &연산자를 이용한다. 형식 : (자료형)& (참조자 이름); 선언과 동시에 어떤 변수와 초기화 할것인지 명시함 나중에 다른 함수를 참조하도록 변경 불가 변수 선언이 메모리 할당이었다면, 레퍼런스의 선언은 어떤 변수를 참조할지에 대한 선언이라 보면 된다. 위의 사진에서 우리는 int& another_a = a; 라고 적어줌으로써 another_a 는 ..
헤더 : stdio.h 용도 : 문자열 출력 형식 : 기본적으로 printf 함수와 동일하다 puts(" 문자열 "); puts 함수는 문자열 출력 함수로, printf 함수와 유사하다. 문자열만 출력가능한 printf 함수라고 봐도 무방할듯 하다. (혹은 printf 가 puts 의 상위호환이라 봐도 될듯) puts함수와 printf 함수의 차이점은 다음과 같다 : (1) puts 는 문자열만 출력 가능 (2) puts 함수는 문자열 출력후 자동으로 줄바꿈을 시전한다 (2) 번 특징을 이용해 공백문자열을 출력하는 puts(""); 코드를 작성하여 한 줄 비우기(?) 를 할 수 있다. (이게 printf("\n") 보다 빠르다) (예시) #include int main(){ puts("문자열이 출력되었습..

※ C++ 에서 제공하는 자료형은 크게 두 가지로 나뉜다. 기본 자료형 사용자 정의 자료형 이번 포스팅에서는 어떤 자료형들이 있는지에 대해 대략적으로만 살펴보고, 각 자료형들에 대한 자세한 설명은 나중에 자료형 별로 따로 다루기로 한다. 1. 기본 자료형 C++ 을 포함한 많은 프로그램 언어들은 각 언어마다 기본적으로 제공하는 자료형들이 있다. 이런 자료형들은 변수나 객체의 형식 또는 그 크기를 구분하기 위한 용도로 사용된다. C++ 에서 기본적으로 제공하는 자료형 : 논리형 문자형 정수형 실수형 2. 사용자 정의 자료형 C++ 에서 제공하는 사용자 정의 자료형 : 열거형(enum) 문자열 포인터 배열 구조체 공용체 클래스

※ 목차 main 함수란? main 함수의 인자 (argc, argv) 1. main 함수란 ? → main 함수는 " 프로그램이 실행될 때 운영체제에 의해 호출되는 함수 " 이다. ( 또는 진입(Entry Point) 함수 라고도 한다.) main 함수는 다음과 같은 형식으로 구성되어 있다. int main(void) { 명령문 1; 명령문 2; ... ... return 0; } main 함수의 리턴 자료형은 int 형(정수형)이다. 이 값은 프로그램이 종료될 때 운영체제에 반환되는 값으로, 종료코드(exit code) 라고도 한다. 파일을 찾을 수 없거나 예상치 못한 값이 입력되는 등 프로그램을 더이상 실행할 수 없는 오류가 발생하면 1을 반환하여 비정상적인 종료임을 운영체제에 알린다. 정상적으로 ..

▣ 목차 1. 포인터란? 2. 포인터 정의하기 3. 주소연산자(&) 4. * 연산자 5. 포인터에 타입이 있는 이유? 6. 상수포인터? 7. 포인터의 덧셈 8. 배열과 포인터 9. 배열을 가리키는 포인터 10. 포인터 배열 1. 포인터(pointer) 란? 포인터 : (메모리 상의) 특정 데이터의 주소값 을 보관하는 변수. (정확히는 시작 주소값) 포인터는 int 형 변수, char 형 변수와 같은 변수들과 전혀 다른 것이 아니다. int 형 변수가 정수 데이터를 보관하고, float 형 변수가 실수 데이터를 보관했던 것처럼 포인터는 데이터가 저장된 주소값을 보관하는 변수인 것이다. (참고) 포인터도 엄연한 변수이기 때문에 메모리 상에서 공간을 차지하고, 포인터 자신만의 주소를 갔고있다. 포인터 변수의 ..

지난 포스팅에서는 배열의 기본적인 것들에 대해 알아보았다. 이번 시간에는 2차원 배열을 포함한 고차원 배열에 대해 알아보자. 1. 2차원 배열이란? 2차원 배열은 배열을 원소로 갖는 배열 이라 생각하면 될듯하다. ("배열의 배열" 이라 생각하면 이해가 쉬울듯하다) 2차원 배열을 정의하는 방법은 다음과 같다. (배열의 타입) (배열 이름) [a][b] // a, b 는 배열의 크기(정수형) 이를 다음과 같이 이해하면 어떨까 싶다 : a : 2차원 배열 원소의 갯수는 a 개 이다 b : 각 원소는 b개의 원소로 이루어진 배열 // (예시) int arr[3][2] ; // 이 배열은 총 3개의 원소로 이루어져 있는데, 이 세개의 원소는 각각 2개의 원소를 가진 1차원 배열이다 이를 그림으로 나타내보면 다음과..

1. 배열이란? C 언어에서는 같은 타입의 여러개의 변수를 연속적으로 정의할 수 있는 방법을 제공하고 있는데, 이를 배열(Array)라 한다. 즉 배열은 같은 형(type) 을 가진 변수들의 집합 정도로 생각하면 될 듯 하다. 2. 배열의 기초 (1) 배열의 정의 배열을 정의하는 방법은 기본적으로 다음과 같다. ( 배열의 type ) ( 배열의 이름 ) [원소개수]; // 예시 int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 위의 예에서 arr 은 int 형 변수 10개를 원소로 가지는 배열인 것이다. 만약 int arr[10] 대신 char arr[10] 이라 썼다면 원소들은 모두 char 형 변수로 선언되었을 것이다. 또한, 위의 예에서 처럼 배열의 정이 옆에 = ..