C 5

C 강좌 0강 - C 언어란?

0. 서론 C++ 강좌를 작성 하고 있었는데.. 하다 보니까 이게 도저히 C 강좌를 먼저 쓰지 않으면 진행이 안 되겠더군요. 기본적인 자료구조나 함수, 포인터들은 C 에서 그대로 물려받다 보니, 해당 부분들을 따로 부연설명 하려니 그것도 너무 사이즈가 켜져서.. 어차피 그런 부분들을 알면 C언어도 초급은 떼는 거나 마찬가지이니 그냥 C 강좌를 먼저 작성하는게 좋겠다고 생각이 드네요 프로그래밍을 처음 접하시거나, 다른 언어들을 접하시고 온 분들도 잘 이해할 수 있게 작성하는걸 목표로 잡았습니다. 본 강의에서는 C 언어의 기능이지만, 쓸일도 거의 없고 괜히 머리만 복잡해 지는 - 다차원 배열 포인터나 구조체의 비트필드 및 메모리 정렬 등 - 은 링크로 빼 놓았으니, 링크는 굳이 들어가 보시지 않으셔도 됩니다..

C 강좌 1강 - 출력(printf)

1. Hello, world! 선호하시는 편집기를 사용하여, main.c 라는 파일을 만들어 줍니다. [Windows 에서 C언어 컴파일하기 링크 이곳에] [MacOS 에서 C언어 컴파일하기 링크 이곳에] [Linux 계열에서 C언어 캄파일하기 링크 이곳에] 그리고 해당 파일에 아래 내용을 복사 & 붙여넣기 혹은 직접 타이핑을 해 봅시다. #include int main(){ // 헬로 월드 출력 printf("Hello, world!"); return 0; } 해당 코드를 컴파일 하고 실행하면, Hello, world! 라는 값이 화면에 나옵니다. 그럼 소스 코드를 하나 하나 뜯어볼까요? #include 이 문장의 의미는 stdio.h 라는 표준 파일 안의 내용을 여기에 붙여넣겠다는 뜻입니다. 컴파일을..

C와 C++ 마스터 3: 구조체 ( struct )

1장과 2장을 통해, 기본 자료형들과 이들로 배열을 만드는 법을 알아보았습니다. 이번장에서는 여러 자료형을 담는 구조체에 대해서 알아보겠습니다. C 언어를 써 보셨던 분들도 모를 만한 내용들을 적어 두었기 때문에, 반드시 읽어 보시면 도움이 될 것 같습니다. 구조체 ( struct ) 목차 선언 초기화 메모리 C++ 에서 추가된 점 이제까지 배운 자료형들은 모두 같은 타입만 저장할 수 있었습니다. int는 정수 자료형 1개, int 배열은 정수자료형들만 저장할 수 있습니다. char*을 사용해 문자열을 이용한다면 숫자를 "100" 이런식으로 나타낼 수는 있겠지만, 만약 그 숫자가 3.14159265359.. 로 이어지는 유리수라면 문자열로 숫자를 저장 한다는것이 얼마나 비효율적인지 감이 오실겁니다. 그래..

C++ 을 위한 간략한 C 강좌 2 - 배열 및 포인터

기본 배열 (raw array)는 C++ 에서는 거의 지향하는 추세입니다. 아직도 성능 때문에 기본 배열을 쓰냐 std::array 를 쓰냐 싸운다던데, 그런 글들은 대부분 몇년 전의 글들이 대부분입니다. 예전의 C++ 에서면 몰라도, 현대의 C++ 컴파일러는 최적화를 매우 잘 해주기 때문에, 그래픽처럼 정말 최적화에 목숨을 걸 만한 상황이 아니면 std::vector 이나 std::array 를 무조건 쓰는 것이 권장됩니다. 그래도 가끔씩 쓸 일이 있기 때문에 간략하게 짚고 넘어가겠습니다. 목차 배열 포인터 요약 1. 배열 배열 선언은 간단합니다. 변수명 뒤의 대괄호에 배열 길이를 적어주면 됩니다. int arr[5] = {1, 2, 3, 4, 5}; 길이를 명시하지 않을 수 도 있습니다. 이때는 중괄..

C 2020.07.25

C++ 을 위한 간략한 C 강좌 1 - 리터럴 및 기본 자료형

C++ 은 언어가 지향하는 점이 C 와 완전히 다른 언어입니다, C++ 코드를 C 스타일로 작성하게 되면 가독성도 떨어질 뿐 더러, 여러가지 버그를 맞이할 확률이 높습니다(애초에 C가 아무생각 없이 짜다가는 버그가 나기 십상..) 하지만 일단 C++ 도 가장 기초적인 문법(변수, 함수, 조건, 반복 등등..) 들은 C의 문법과 거의 동일하고, 매크로나 goto 같은 경우는 반드시 필요한 경우가 있습니다. 또, C++14 이하에서는 입출력 및 파일시스템 등에서 C 함수를 써야 하는 경우가 종종 있지요(C++ 17 이후로는 거의 대부분 표준 함수를 이용해서 사용 가능합니다) 그래서 C++을 사용하더라도 기본적인 C 지식은 가지고 있어야 합니다. 이번 강좌에서는 필수적인 C 문법들과, 이들이 C++에서 어떻게..

C 2020.07.25