목록ProgrammingLanguage (15)
모노산달로스의 행보
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bVq0Uh/btsGwsajtGw/uGHtgOIJoQSHrnPBeL71w0/img.png)
C programming - 문자열 포인터 리눅스 환경에서 네트워크 프로그래밍을 공부하기 위해서 C언어를 다시 복습해야 할 필요성을 느꼈습니다. 따라서 이번 기회에 배열부터 전처리기까지 내용들을 정리하겠습니다. 문자열이란? C언어에서 문자 상수(Character)란 작은 따음표 내에 포함된 하나의 문자를 의미합니다. 만약 여러개의 문자를 한 번에 표현하고 싶다면 어떻게 해야 할까요? 문자 상수를 여러개 저장하는 배열은 어떨까요? char array[] = {'A', 'B', 'C', 'D'}; 문자를 저장하는 배열을 만들었습니다. 배열의 요소인 A B C D 각각의 값에 접근하는 것이 가능합니다. 지금부터 공부할 문자열 또한 이러한 문자 배열과 동일하게 동작합니다. 우리는 이미 문자열(String)을 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/SzDPC/btsGusHZmjO/2qkDnRJNpelVGC5VbK4HGk/img.png)
C programming - 포인터 배열 리눅스 환경에서 네트워크 프로그래밍을 공부하기 위해서 C언어를 다시 복습해야 할 필요성을 느꼈습니다. 따라서 이번 기회에 배열부터 전처리기까지 내용들을 정리하겠습니다. 포인터와 1차원 배열 #include int main(void) { int array[3]={10, 20, 30}; int *p = NULL; p = array; printf("%x %x %x\n", p, p+0, &p[0]); printf("%x %x\n", p+1, &p[1]); printf("%x %x \n", p+2, &p[2]); printf("%d %d %d\n", *p, *(p+0), *(&p[0])); printf("%d %d\n", *(p+1), *&p[1]); printf("%d ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/JXIN5/btsGmWoqV6s/6H4pHjqL7hVCGRZnD5zQo1/img.png)
C programming - 포인터 선언과 사용 리눅스 환경에서 네트워크 프로그래밍을 공부하기 위해서 C언어를 다시 복습해야 할 필요성을 느꼈습니다. 따라서 이번 기회에 배열부터 전처리기까지 내용들을 정리하겠습니다. 포인터란 무엇인가? 이름은 많이도 접한 포인터 과연 어떤 역할을 하는 것일까요? 포인터를 사용해 메모리 주소를 참조하면 다양한 자료형 변수들에 접근하기 쉬워집니다. 또한 배열과 같은 연속된 데이터 혹은 동적으로 할당된 메모리 영역(힙 영역)을 조작하기 용이합니다. 글로만 보아서는 이해하기 힘든 개념이라고 생각합니다. 지금은 단순히 주소를 저장하는 변수라고 할 수 있습니다. 포인터 변수의 선언과 사용 포인터의 선언 방법을 살펴보면서 조금 더 자세하게 알아보겠습니다. int* pointer = ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bYK4QY/btsGjngoJ18/PhaPS2KJhFPtzvJwVkK1X1/img.png)
C programming - 2차원 배열 리눅스 환경에서 네트워크 프로그래밍을 공부하기 위해서 C언어를 다시 복습해야 할 필요성을 느꼈습니다. 따라서 이번 기회에 배열부터 전처리기까지 내용들을 정리하겠습니다. 다차원 배열이란? 다차원 배열은 2차원 이상의 배열을 일컫는 용어입니다. 즉, 하나의 배열이 다른 배열을 가지고 있는 형태입니다. 처음 다차원 배열을 접하신다면 이해하기 힘든 개념으로 생각됩니다만, 이번 기회에 확실하게 정리하고 넘어가면 좋을 것 같습니다. 해당 포스트에서는 2차원 배열을 중심으로 살펴보겠습니다. 2차원 배열의 선언과 초기화 int array[4][3]; 기존 배열과 선언 방법은 크게 다르지 않습니다. 자료형과 배열의 이름 그리고 배열의 크기를 선언합니다. 여기서 주목할 점은 배열의..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b1ICJO/btsGi1RNRME/i0NBUuffbnoDUEF73JZrb0/img.png)
C programming - 1차원 배열 리눅스 환경에서 네트워크 프로그래밍을 공부하기 위해서 C언어를 다시 복습해야 할 필요성을 느꼈습니다. 따라서 이번 기회에 배열부터 전처리기까지 내용들을 정리하겠습니다. 배열이란? 배열의 정의는 아래와 같습니다. 같은 자료형을 가진 연속된 메모리 공간으로 이루어진 자료구조입니다 같은 자료형을 가진 변수들이 여러 개 필요할 때 사용합니다 많은 양의 데이터를 처리할 때 유용합니다 쉽게 정리하자면 같은 자료형의 변수들을 하나로 묶어놓은 것을 배열이라고 부릅니다 배열의 선언 방법은 다음과 같습니다. int array[10]; 자료형과 배열의 이름 그리고 배열의 길이를 선언합니다. 위 예시는 10의 길이를 가지는 array라는 이름의 int 자료형 배열입니다. 배열 요소의..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/P3xIy/btrSWbn3sjL/Dr0kBGM8sBZIJH57Qulv61/img.png)
Swift로 PS 공부하기 프로그래밍 학습자 입장으로서 PS공부는 여러모로 도움이 많이 되는 것 같다. 문제를 풀면서 언어에 대해 몰랐던 부분을 좀 더 찾아보며 공부하게 되고 알고리즘에 대한 사고력도 키워진다. 무엇보다 책만 계속 보는 것보다는 훨씬 재미있는 활동이다. 아직 프로젝트를 시작하지 못한 나로서는 코딩 공부에 흥미를 더할 수 있는 것이 PS공부를 하는 것이다. 문제를 풀 때는 힘들지만 풀어냈을 때의 그 쾌감이란... 우선 문제를 정리해보자 n이 주어졌을 때 n과 n의 각 자릿수를 더하는 함수가 존재한다 ex) d(75) = 75 + 7 + 5 = 87 위 함수를 여러 번 사용해서 무한수열을 만들 수 있다 ex) 33, 39, 51, 57, 69... n을 d(n)의 생성자라고 한다. 생성자가 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dJob8I/btrSrn9JmtS/zBhCeZwkiecb9jVCfrmeLK/img.png)
초보 개발자가 초보 개발자에게 필자는 Swift로 백준 문제를 풀면서 시간제한에 걸려 골 머리를 썩힌 경험이 있다 시간 초과에 걸리지 않도록 하는 방법은 여러 가지가 있지만 입력을 받는 양이 많은 경우 입력을 빠르게 받아 시간을 줄이는 방법을 사용하면 시간 초과를 피할 수 있다 이 글에서는 그 방법에 대해 좀 더 자세하게 소개하겠다 1. 커맨드 라인으로 입력 받기 아래 블로그에 잘 설명되어 있으니 참고하자 https://zeddios.tistory.com/68 2. 파일 입출력으로 입력받기 final class FileIO { private let buffer: Data private var index: Int = 0 init(fileHandle: FileHandle = FileHandle.standar..