Notice
Recent Posts
Recent Comments
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- CSS
- 프론트엔드
- Promise
- 프로젝트 방법론
- 함수
- for
- 블록체인
- 워터폴개발
- AWS
- 코린이
- HTML
- while
- IT
- JavaScript
- const
- let
- 그릿
- var
- 기초다지기
- 캐시
- system integration
- 시스템 통합
- 자바스크립트
- blockchain
- 목적
- 스크럼
- 기본연산
- 코딩
- 생성형 Ai
- 성공으로 가는 길
Archives
- Today
- Total
Grit
프로그래밍 언어 - C언어 본문
C 언어는 고급 프로그래밍 언어와 저급 프로그래밍 언어의 특징을 모두 가지고 있는 범용 프로그래밍 언어입니다. 1972년에 벨 연구소의 데니스 리치(Dennis Ritchie)에 의해 개발되었으며, 연구소에서 일할 당시 새로 개발된 유닉스 운영 체제에서 사용하기 위해 개발한 프로그래밍 언어이다. 처음에 C프로그래밍은 유닉스 운영 체제에만 국한되었으나 전 세계로 확산되기 시작하면서 상용화되었으며 크로스 플랫폼 시스템용으로 많은 컴파일러가 출시되었습니다. 오늘날 C는 다양한 운영 체제와 하드웨어 플랫폼에서 실행되고, 언어가 발전하기 시작하면서 다양한 버전의 언어가 출시되었습니다.
C 언어의 주요 특징
- 저급 프로그래밍 기능 제공 : C 언어는 메모리 직접 접근, 비트 단위 연산 등 저급 언어의 기능을 제공합니다.
- 효율성과 속도 : 컴파일 언어로서 실행 속도가 빠르며, 시스템에 대한 효율적인 제어가 가능합니다.
- 포터블성 : 다양한 플랫폼에서 거의 변경 없이 실행할 수 있습니다.
- 구조적 프로그래밍 지원 : 함수를 기반으로 하는 구조적 프로그래밍을 지원하여, 복잡한 프로그램의 개발과 유지보수를 용이하게 합니다.
- 포인터와 다이렉트 메모리 액세스 : 메모리 주소를 직접 다룰 수 있는 포인터를 사용합니다.
- 블록 구조 : 코드를 블록으로 구성하여 가독성과 관리가 용이합니다.
C 언어의 활용 분야
- 시스템 프로그래밍 : 운영 체제, 컴파일러, 인터프리터, 디바이스 드라이버 등의 개발에 사용됩니다.
- 응용 프로그래밍 : 과학 계산, 그래픽 처리, 게임 개발 등 다양한 응용 프로그램을 개발하는 데 적합합니다.
- 임베디드 시스템 : 하드웨어 수준의 제어가 필요한 임베디드 시스템 개발에 주로 사용됩니다.
C 언어의 장점
- 빠른 속도 : C언어로 짜여진 코드는 속도가 빠르고 바이너리 크기도 작아 속도가 다른 무엇보다 중요한 임베디드 혹은 모바일 계열, 또는 시스템 프로그래밍 등에서 주로 쓰인다.
- 확장성 : C언어는 초창기에 유닉스와 관련이 있었고 ANSI와 ISO에 의해 규격화되었기에 확장성은 C언어의 최대 강점 중 하나이다.
- 유닉스와의 통합 : C는 유닉스, 특히 유닉스의 변종인 리눅스와 만났을 때 최고의 조합을 자랑한다.
- 유연성 : 다른 언어에선 허용되지 않는 기능이 C언어에서는 대부분 허용된다.
C 언어의 단점
- 느슨한 타입검사 : C의 유연성에는 에러가 나기 쉽다는 이면이 있다. 다른 언어에서 쉽게 잡힐 실수들이 C컴파일러에선 잡히지 않을 수 있다.
- 배열 접근 : 배열에 접근할 때, 인덱스가 배열 범위를 벗어나도 이를 체크하지 않는다. 또한, C언어의 배열은 문맥 상황에 따라 포인터로 바뀌는 경우가 많고, 따라서 초보자가 느끼기에 무척 혼란스럽고 구분이 어렵다.
- 학습어려움 : 완전한 고급언어에 비해서 상대적으로 배우기가 쉽지 않다.
C 언어의 중요성
C 언어는 프로그래밍 언어의 기본 개념을 이해하고, 저수준 프로그래밍에 대한 경험을 쌓는 데 중요합니다. 또한, C 언어를 기반으로 한 다양한 언어(C++, C#, Java 등)가 개발되었기 때문에, C 언어를 배우는 것은 다른 많은 프로그래밍 언어들을 이해하는 데도 도움이 됩니다. C 언어는 성능, 메모리 관리, 시스템 수준의 프로그래밍 능력을 요구하는 프로젝트에 여전히 중요한 역할을 합니다.
'IT > IT용어' 카테고리의 다른 글
| 프로그래밍 언어 - PHP (1) | 2024.01.24 |
|---|---|
| 프로그래밍 언어 - C++ (0) | 2024.01.23 |
| 프로그래밍 언어 - 자바(Java) (0) | 2024.01.21 |
| 프로그래밍 언어 - C# (0) | 2024.01.20 |
| 프로그래밍 언어 - 파이썬(Python) (2) | 2024.01.19 |