algorithm 시작 방학 목표가 백준 플레 + 코드포스 블루까지 가는 것이었는데 자꾸 안하게 된다. 코드포스는 2학기 기말 전까지 열심히 해서 민트 단 다음에 그 뒤로 안하고 있고 백준도 스트릭은 계속 잇고 있긴한데 많이 풀고 있진 않다. 티어작을 하려면 금방 올리겠지만 그것보단 다양하게 공부하고 싶다. 그래서 자료구조, 알고리즘 개...
첫 계획
블로그 계획 사실 C언어 정리를 1월 초~중이면 끝낼 줄 알았는데 생각보다 늦어졌다. 알고리즘도 정리해야 하고, 문제 푸는 것도 정리를 시작해야겠다. 주 공부는 보안이었으면 좋겠는데, CTF랑 개념 정리한 것도 만들어아 하고 학교 공부나 추가로 CS 공부한 것도 만들어야겠고, 언어도 시간이 되면 조금씩 해야겠다. 일단 하나씩 꾸준하게 쓰는 것을...
C언어 (26) visual studio
C언어 (26) visual studio visual studio 오류랑 편리하게 쓸 수 있는 디버깅 모드들 오류 모음 #_CRT_SECURE… visual studio만의 오류?라고 볼 수도 있는 오류이다. scanf뿐만 아니라 입출력, string 관련 함수에서도 다 이런 에러를 낸다. 실제로 이 함수들이 버퍼 오버플로우 및 기타 ...
C언어 (25) 조건부, 분할 컴파일
C언어 (25) 조건부, 분할 컴파일 마지막으로 조건부, 분할 컴파일에 대한 내용이다. 이론적이라기 보다는 컴파일 방법에 대한 내용이니 간단히 적어도 될 것 같다. 조건부 컴파일 C언어는 다양한 OS에서 사용되었기에 제공하는 표준 함수나 동작이 조금씩 다를 수 있다. 같은 운영체제를 사용한다 하더라도 사용하는 컴파일러와 라이브러리가 다를 수도...
C언어 (24) 매크로와 인라인 함수
C언어 (24) 매크로와 인라인 함수 C언어 책 마지막엔 전처리기와 분할 컴파일에 대한 이야기가 있다. 사실 잘 안쓰는 잡다한 내용이라 여기까지 진도도 안나가고 안 읽어봐서 처음 보는 내용이었다. 이번에 싹 정리하는 겸 다 내용을 알아보자. 전처리기 전처리는 본격적으로 소스 파일을 컴파일 하기 전에 먼저 처리해야 하는 일이다. 코드의 가장 위...
C언어 (23) 동적 메모리 할당2
C언어 (23) 동적 메모리 할당2 지난번에 안본 realloc과 free를 보고, 동적 메모리를 끝내자. 동적 메모리 할당 함수 함수명 설명 반환 값 malloc(size) 지정된 크기만큼 메모리를 할당하며 초기화되지 않은 메모리를 반환. ...
C언어 (22) 동적 메모리 할당
C언어 (22) 동적 메모리 할당 프로그램에서 사용되는 메모리는 정적 메모리와 동적 메모리가 있다. 우리가 선언하던 일반 배열들은 컴파일 할 때 메모리의 크기가 정해진다. 이런 정적 메모리는 프로그램을 실행하면서 메모리의 크기를 변경하는 것이 불가능하다. 이 문제점을 해결 하기 위해서 동적으로 메모리를 할당하고 해제하는 작업이 필요하다. 프...
C언어 (21) 파일 입출력2
C언어 (21) 파일 입출력2 stream이란 무엇인지, 파일을 어떻게 여는지 알았으니 이제 입출력 함수를 사용해본다. 표준 파일 입출력 함수 표준 파일 입출력 함수는 이렇게 입출력 스트림을 정해서 원하는 입력 방법을 선택할 수 있다. 함수들을 하나씩 사용하면서 기능을 정리해보자. 문자 단위 표준 파일 입출력 함수 fgetc(), fpu...
C언어 (20) 파일 입출력
C언어 (20) 파일 입출력 프로그램은 파일을 통해 데이터를 받거나 쓰는 경우가 많다. 이런 동작을 C언어로 해보자. 스트림(stream) 스트림(stream)이란 데이터를 입력하고 출력하기 위한 다리 같은 역할이다. 키보드, 모니터 같은 입출력 장치들은 다양한 방식으로 데이터를 주고받는다. 이 키보드와 프로그램, 프로그래뫄 모니터를 이어 ...
C언어 (19) 문자열 이용하기
C언어 (19) 문자열 이용하기 지난번에 문자열의 입출력 함수에 대해 자세히 알아봤다. 이제 문자열을 처리하는 함수와 포인터로 문자열을 사용해보자. 문자열 처리 함수 문자열을 프로그램에서 사용하다보면 문자열을 붙이거나, 길이를 구하거나, 비교하는 작업이 필요하다. 직접 함수로 작성해도 되지만 C에서는 이런 역할을 하는 여러 함수를 라이브러리로...