STUDY/C, C++ 7

[C/C++] 연결 리스트 Linked List

이번 포스팅의 목표는 포인터를 사용해서 연결 리스트(linked list)를 구현하는 것이다. 선수지식은 C의 포인터 인데 사실 몰라도 이해는 될 것 이다. 구현이 조금 어려울뿐 우선 연결 리스트라는 단어를 뜯어보면 연결된(linked) 리스트라는 뜻이다. 파이썬이나 C, C++등 어느정도 지식이 있는 사람들은 배열은 이미 연결되어있지 않나 생각이 들수 있다. 하지만 배열처럼 처음부터 사이즈를 정해져있는게 아니라 새로 추가하든 삭제하든 할때 파편화된 데이터를 만들고 이를 서로 연결해서 리스트로 사용한다는 뜻으로 이해하면 된다. 연결 리스트를 만들기 위해선 각각의 데이터마다 다음 데이터가 어디있는지 알고 있어야한다. 그래서 데이터 뿐만아니라 주소를 저장하는 공간이 있어야한다. 주소 공간이 몇개 인지에 따라..

STUDY/C, C++ 2022.02.21

[C] scanf 개행 문자 처리

scanf를 사용하여 문자열을 입력 받다보면 가끔씩 scanf를 못받고 넘어가는 경우가 생긴다. scanf를 넘어갈때 enter(\n, 개행문자)를 사용하는데, 이 값도 문자열로 취급을 해서 생기는 문제이다. https://m.blog.naver.com/jachert555/221322109423 C언어 Scanf입력버퍼 비우기 c언어에서 가끔 발생하는 문제가 scanf로 입력받다가 입력버퍼가 다 비워지지 않아서 문자입력받는게 문자... blog.naver.com 여기에서 잘 설명해줘서 링크를 건다. 여기서 쉽게 사용하기 좋은건 여덟번째인데 %c앞에 공백을 넣으면 개행문자를 처리할수있다. #include int main() { char a, b; scanf("%c", &a); scanf(" %c", &b)..

STUDY/C, C++ 2021.06.09

[C/C++] 버블 정렬, 카운트 정렬

알고리즘 복습과 C 공부를 동시에 하기 위해 예전에 했던거 복습 1. 버블 정렬 배열 내에서 인접한 두자리를 비교하면서 정렬하는 방법이다. 정렬중에 가장 쉽게 구현할수 있다. 여기서 가끔 헷갈리는 건 이중 반복문에서 범위를 지정하는 부분이다. 항상 앞에서부터 차례대로 비교하면서 뒤에 차곡차곡 쌓는 느낌으로만 기억한다. (바깥 반복문은 정렬할 위치를 지정하고, 안쪽 반복문에서는 실제 비교 및 정렬을 수행한다.) void bubble(int *arr, int arr_size) { int tmp; for (int i = arr_size - 1; i >= 0; i--) { for (int j = 0; j arr[j+1]) { tmp = arr[j]; arr[j] = ..

STUDY/C, C++ 2021.06.03

[C] C 프로그래밍 문법 (1)

이번주 금요일에 C를 써야해서 급하게 복습한다. 복습할 책은 대학교 1학년때 전공으로 배운 Perfect C 라는 책이다. 복습이니 모르는 것, 헷갈리는 것, 파이썬이랑 다른 내용들을 정리할 예정이다. 오늘 볼 내용은 챕터 2 프로그래밍 기초 부터 8 반복문까지 내용이다. 1. 변수를 선언한 이후 같은 변수명 재 정의 불가능 int a; int a = 0; 2. char 에 문자열 저장할때는 double quote 말고 single quote로 사용 3. : 정수 자료형에 관련된 여러 상수를 정의하고 있는 헤더파일 4. printf 함수 내에 들어가는 문자열은 double quote 사용 5. #define 5.1 치환문자열 끝에는 세미콜론이 들어가지 않음 - 전처리 지시자(#)가 붙어있는 경우 세미콜론..

STUDY/C, C++ 2021.03.31

[C] 개발환경 구축

C, C++를 익힐겸 개발환경을 구축한다. 순서 1. Visual Studio Community 설치 1-1. 필요한 도구 설치 1-2. github 연결 2. Project 생성해서 되는지 확인. qzqz.tistory.com/m/132?category=746758 #1 Visual Studio 2019 설치 / C 언어 프로젝트 생성하는 법 Visual Studio 2019 다운로드 링크 https://visualstudio.microsoft.com/ko/free-developer-offers/ 무료 개발자 소프트웨어 및 서비스 | Visual Studio 무료로 제공되는 제품: Visual Studio Community, Visual.. qzqz.tistory.com 3. Hello,world!

STUDY/C, C++ 2021.03.31