"C 언어"의 두 판 사이의 차이
잔글 (→같이 보기) |
bksong990323 (토론 | 기여) |
||
2번째 줄: | 2번째 줄: | ||
== 역사 == | == 역사 == | ||
− | [[알골]] -> [[BCPL]] -> [[B]] 언어로 개조되는 과정에서 발생 | + | [[알골]] -> [[BCPL]] -> [[B]] 언어로 개조되는 과정에서 발생<ref name="C 언어 역사"> luckey, 〈[https://blog.makebyhand.co.kr/43 C언어의 유래와 역사]〉, 《makebyhand 블로그》, 2009-03-19</ref> |
− | <ref name="C 언어 역사"> luckey, 〈[https://blog.makebyhand.co.kr/43 C언어의 유래와 역사]〉, 《makebyhand 블로그》, 2009-03-19</ref> | ||
=== 발생 동기 === | === 발생 동기 === | ||
+ | |||
+ | |||
* [[케네스 톰슨]](Ken Thompseon)이 [[벨 연구소]]에서 [[MULTICS]] 운영체제를 개조하여 [[유닉스]]를 만들던 중 기계마다 운영체계를 제작 하다시피 하여 만드는 애로사항을 해결하고자 이식성이 좋고, 호환성이 좋은 언어로 제작하여야겠다는 필요성을 가졌다. | * [[케네스 톰슨]](Ken Thompseon)이 [[벨 연구소]]에서 [[MULTICS]] 운영체제를 개조하여 [[유닉스]]를 만들던 중 기계마다 운영체계를 제작 하다시피 하여 만드는 애로사항을 해결하고자 이식성이 좋고, 호환성이 좋은 언어로 제작하여야겠다는 필요성을 가졌다. | ||
− | 이때 [[데니스 리치]](Dennis Ritchie)가 B 언어를 개조하여 1972년 C언어를 제작하고, 이를 이용하여 유닉스를 다시 만들게 된다. | + | : 이때 [[데니스 리치]](Dennis Ritchie)가 B 언어를 개조하여 1972년 C언어를 제작하고, 이를 이용하여 유닉스를 다시 만들게 된다. |
+ | |||
+ | |||
* 사용자가 늘어남에 따라 매뉴얼이나 지속적인 작업이 이루어지지 않아 초기에 개발회사나 사용회사별로 C 언어가 혼란을 겪게 된다. | * 사용자가 늘어남에 따라 매뉴얼이나 지속적인 작업이 이루어지지 않아 초기에 개발회사나 사용회사별로 C 언어가 혼란을 겪게 된다. | ||
+ | |||
+ | |||
* 미국 [[ANSI]]협회에서 [[ANSI-C]]를 규정하고 이때부터 ANSI-C를 표준으로 각 회사들이 개성있게 제작을 시작한다. | * 미국 [[ANSI]]협회에서 [[ANSI-C]]를 규정하고 이때부터 ANSI-C를 표준으로 각 회사들이 개성있게 제작을 시작한다. | ||
+ | |||
+ | |||
* 이후 1982년 [[C++]]이 개발되며 더욱 성장하게 된다. | * 이후 1982년 [[C++]]이 개발되며 더욱 성장하게 된다. | ||
− | * C 언어를 이용하여 [[자바]], [[C#]], [[엠에프씨]](MFC), [[프로씨]](Pro-C), [[오브젝티브-C]], [[스위프트]], [[러스트]] 등 다양한 프로그래밍 언어가 만들어졌다. | + | |
− | <ref name="C 언어 역사"></ref> | + | |
+ | * C 언어를 이용하여 [[자바]], [[C#]], [[엠에프씨]](MFC), [[프로씨]](Pro-C), [[오브젝티브-C]], [[스위프트]], [[러스트]] 등 다양한 프로그래밍 언어가 만들어졌다.<ref name="C 언어 역사"></ref> | ||
+ | |||
=== 제작 과정 === | === 제작 과정 === | ||
+ | |||
+ | |||
* 1958년 프로그래밍 언어의 이론과 개념의 등장 | * 1958년 프로그래밍 언어의 이론과 개념의 등장 | ||
+ | |||
+ | |||
* 1960년 [[국제정보처리학회연합]](IFIP)에서 [[알골]]을 제작 | * 1960년 [[국제정보처리학회연합]](IFIP)에서 [[알골]]을 제작 | ||
+ | |||
+ | |||
* 1966년 케임브리지 대학교에서 [[마틴 리처드]](Martin Richards)가 [[BCPL]]을 설계 | * 1966년 케임브리지 대학교에서 [[마틴 리처드]](Martin Richards)가 [[BCPL]]을 설계 | ||
+ | |||
+ | |||
* 1970년 [[톰프슨]](Kenneth L. Thompson)이 BCPL을 개량하여 [[B 언어|B]]를 제작 | * 1970년 [[톰프슨]](Kenneth L. Thompson)이 BCPL을 개량하여 [[B 언어|B]]를 제작 | ||
− | * 1972년 [[데니스 리치]](Dennis Ritchie)에 의해 C 언어가 개발 | + | |
− | <ref name="C 언어 역사"></ref> | + | |
+ | * 1972년 [[데니스 리치]](Dennis Ritchie)에 의해 C 언어가 개발<ref name="C 언어 역사"></ref> | ||
== 특징 == | == 특징 == | ||
31번째 줄: | 49번째 줄: | ||
* 절차 지향적 특징을 지니고 있다.<ref name="장단점">ashly77, 〈[http://blog.naver.com/PostView.nhn?blogId=ashly77&logNo=120125897912 C언어의 특징, C언어의 정의, C언어의 장단점]〉, 《네이버 블로그》, 2011-03-14</ref> | * 절차 지향적 특징을 지니고 있다.<ref name="장단점">ashly77, 〈[http://blog.naver.com/PostView.nhn?blogId=ashly77&logNo=120125897912 C언어의 특징, C언어의 정의, C언어의 장단점]〉, 《네이버 블로그》, 2011-03-14</ref> | ||
+ | |||
=== C 언어의 단점 === | === C 언어의 단점 === | ||
39번째 줄: | 58번째 줄: | ||
* 혼합연산의 경우 연산 우선순위에 따라 자동 계산되므로 연산 우선순위를 모르면 잘못된 계산 결과를 얻을 수 있다. | * 혼합연산의 경우 연산 우선순위에 따라 자동 계산되므로 연산 우선순위를 모르면 잘못된 계산 결과를 얻을 수 있다. | ||
− | * 프로그램을 모듈화하지 않으면 이해하기 어려운 프로그램이 되는 경우가 많다. | + | * 프로그램을 모듈화하지 않으면 이해하기 어려운 프로그램이 되는 경우가 많다.<ref name="장단점"></ref> |
− | <ref name="장단점"></ref> | + | |
=== [[절차지향 언어]]와 [[객체지향 언어]]의 차이 === | === [[절차지향 언어]]와 [[객체지향 언어]]의 차이 === | ||
+ | |||
+ | |||
==== [[절차지향 언어]] ==== | ==== [[절차지향 언어]] ==== | ||
48번째 줄: | 69번째 줄: | ||
* 위에서부터 아래로 정해진 절차(순서)에 따라 실행된다. | * 위에서부터 아래로 정해진 절차(순서)에 따라 실행된다. | ||
* 프로그래밍 수준이 복잡하지 않고 유지 보수하기가 쉽다. | * 프로그래밍 수준이 복잡하지 않고 유지 보수하기가 쉽다. | ||
− | * 객체지향보다 코딩 속도가 빠르다. | + | * 객체지향보다 코딩 속도가 빠르다.<ref name="언어비교"> zzaxowns, 〈[https://blog.naver.com/zzaxowns/221485115641 [C++] 절차지향 언어와 객체지향 언어]〉, 《네이버 블로그》, 2019-03-11</ref> |
− | <ref name="언어비교"> zzaxowns, 〈[https://blog.naver.com/zzaxowns/221485115641 [C++] 절차지향 언어와 객체지향 언어]〉, 《네이버 블로그》, 2019-03-11</ref> | ||
==== [[객체지향 언어]] ==== | ==== [[객체지향 언어]] ==== | ||
57번째 줄: | 77번째 줄: | ||
* [[캡슐화]] : [[데이터 구조]]와 데이터를 다루는 방법을 결합해 묶는 것 | * [[캡슐화]] : [[데이터 구조]]와 데이터를 다루는 방법을 결합해 묶는 것 | ||
* [[상속]] : 상위개념의 특징을 하위개념이 물려받는 것 | * [[상속]] : 상위개념의 특징을 하위개념이 물려받는 것 | ||
− | * [[다형성]] : 일을 하는 함수를 같은 이름으로 호출해 주는 것 | + | * [[다형성]] : 일을 하는 함수를 같은 이름으로 호출해 주는 것<ref name="언어비교"></ref> |
− | <ref name="언어비교"></ref> | + | |
+ | |||
=== 다른 컴퓨터 언어와 비교 === | === 다른 컴퓨터 언어와 비교 === | ||
+ | |||
+ | |||
==== C 언어와 C++ ==== | ==== C 언어와 C++ ==== | ||
C 언어는 1972년부터 사용되기 시작해 현재까지 핵심적인 컴퓨터 언어로 사용되고 있다. | C 언어는 1972년부터 사용되기 시작해 현재까지 핵심적인 컴퓨터 언어로 사용되고 있다. | ||
C 언어는 절차 지향적 언어임에 반해 C 언어의 개량형으로 알려진 C++의 가장 큰 특징은 객체지향 언어이며 광범위함이다. | C 언어는 절차 지향적 언어임에 반해 C 언어의 개량형으로 알려진 C++의 가장 큰 특징은 객체지향 언어이며 광범위함이다. | ||
− | C++은 추상적인 개념을 통해 구성을 먼저하고 그 후 그것들을 조합하는 상향식 접근 방법으로 만들어진다. | + | C++은 추상적인 개념을 통해 구성을 먼저하고 그 후 그것들을 조합하는 상향식 접근 방법으로 만들어진다.<ref>JJOREG, 〈[https://jjoreg.tistory.com/entry/C-%EA%B3%BC-C%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90 C++ 과 C의 차이점]〉, 《티스토리닷컴》, 2014-06-25</ref> |
− | <ref>JJOREG, 〈[https://jjoreg.tistory.com/entry/C-%EA%B3%BC-C%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90 C++ 과 C의 차이점]〉, 《티스토리닷컴》, 2014-06-25</ref> | + | |
==== C 언어와 자바 ==== | ==== C 언어와 자바 ==== | ||
자바 또한 객체지향 언어로 지금까지 여러 소프트웨어 개발의 주축이 된다. | 자바 또한 객체지향 언어로 지금까지 여러 소프트웨어 개발의 주축이 된다. | ||
기계와 근접한 위치에서 실행되거나 하드웨어를 직접 다루는 경우 C 언어는 컴파일 시 바로 기계코드로 컴파일이 되어 프로세스에 의해 직접 실행된다. | 기계와 근접한 위치에서 실행되거나 하드웨어를 직접 다루는 경우 C 언어는 컴파일 시 바로 기계코드로 컴파일이 되어 프로세스에 의해 직접 실행된다. | ||
− | 따라서 중간 코드인 바이트 코드로 컴파일되어 기계코드로 다시 변환하는 자바의 경우 제한된 메모리를 최적으로 사용해야 하는 프로그램에는 C 언어가 유용하다. | + | 따라서 중간 코드인 바이트 코드로 컴파일되어 기계코드로 다시 변환하는 자바의 경우 제한된 메모리를 최적으로 사용해야 하는 프로그램에는 C 언어가 유용하다.<ref>Serdar Yegulalp, 〈[http://www.itworld.co.kr/news/124767 C 프로그래밍 언어가 여전히 최고인 이유 : 개발언어 일대일 비교]〉, 《ITWorld》, 2018-06-22</ref> |
− | <ref>Serdar Yegulalp, 〈[http://www.itworld.co.kr/news/124767 C 프로그래밍 언어가 여전히 최고인 이유 : 개발언어 일대일 비교]〉, | + | |
+ | == 기초 문법 == | ||
+ | === 메인 함수 === | ||
+ | C 언어는 절차지향 언어로 main 함수 하나만을 호출하여 main 함수가 끝날 때 까지 실행한다. | ||
+ | 만약 main 함수에서 다른 함수를 호출하는 경우 해당 경로를 따라가서 해당 함수를 실행 후 다시 메인 함수로 돌아온다. | ||
+ | |||
+ | |||
+ | === 헤더 파일의 선언 === | ||
+ | 헤더 파일은 헤더 파일 내부에 있는 함수를 사용하겠다고 미리 알려주는 역할을 한다. | ||
+ | #include <stdio.h> | ||
+ | |||
+ | int main(void) { | ||
+ | |||
+ | printf("Hello, C"); | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | |||
+ | 이 문장은 printf( ); 함수를 이용해 Hello, C 라는 문장을 출력하고자 하는 것이다. | ||
+ | 이때 맨 위에 작성된 #include <stdio.h> 를 헤더 파일 부분이라고 하는데, 이 부분을 작성하지 않으면 main 함수는 printf가 무엇인지 모르기 때문에 에러가 발생한다. | ||
+ | |||
+ | |||
+ | === 헤더 파일의 종류 === | ||
+ | 헤더 파일의 분류는 크게 표준 라이브러리 헤더 파일과 사용자 정의 헤더 파일로 나눌 수 있다. | ||
+ | * 표준 라이브러리 헤더 파일 | ||
+ | ** 표준 라이브러리 헤더 파일은 개발 프로그램의 내부에 미리 선언되어있어 가져와 사용기만 하면 된다. | ||
+ | *** 해당 헤더 파일의 예로는 stdlib.h , stdio.h , math.h, string.h , time.h 등 다양한 헤더 파일이 있다. | ||
+ | |||
+ | * 사용자 정의 헤더 파일 | ||
+ | ** 사용자 정의 헤더 파일은 사용자가 직접 헤더 파일을 정의 하는 것을 의미한다. | ||
+ | |||
+ | |||
+ | === 세미콜론( ; ) === | ||
+ | 세미콜론을 안 붙이게 되면 컴파일 에러가 발생한다. | ||
+ | 따라서 한 문장이 끝나면 세미콜론( ; )을 쓰는 것으로 마친다. | ||
+ | * 예외의 경우 | ||
+ | **if, for, while 문의 경우 해당 문장에는 세미콜론을 쓰지 않는다. (do while의 경우 while 문에 세미콜론을 붙인다.) | ||
+ | |||
+ | |||
+ | if 문 | ||
+ | if(a < 10) { | ||
+ | |||
+ | printf("a"); | ||
+ | |||
+ | } | ||
+ | |||
+ | for 문 | ||
+ | |||
+ | for (int i = 0; i < 10; i++) { | ||
+ | |||
+ | printf("a"); | ||
+ | |||
+ | } | ||
+ | |||
+ | while 문 | ||
+ | |||
+ | while(a < 10) { | ||
+ | |||
+ | printf("a"); | ||
+ | |||
+ | } | ||
+ | |||
+ | do while 문 | ||
+ | |||
+ | do { | ||
+ | |||
+ | printf("a"); | ||
+ | |||
+ | } while(a < 10); | ||
+ | |||
== 개발도구 == | == 개발도구 == | ||
− | [[파일:Visual studio logo 1.png|썸네일| | + | [[파일:Visual studio logo 1.png|썸네일|350픽셀|'''Visual Studio'''(Visual Studio) 로고]] |
# [https://visualstudio.microsoft.com/ 비주얼 스튜디오] | # [https://visualstudio.microsoft.com/ 비주얼 스튜디오] | ||
+ | #: C 언어 개발 도구로 가장 유명하며 마이크로소프트에서 개발, 2년마다 새로운 버전이 개발되고 있다. | ||
# [http://orwelldevcpp.blogspot.com/ dev C++] | # [http://orwelldevcpp.blogspot.com/ dev C++] | ||
+ | #: 무료 오픈소스 개발도구이며 비주얼 스튜디오보다 설치가 간단하다. | ||
# [http://www.codeblocks.org/ Code::Blocks] | # [http://www.codeblocks.org/ Code::Blocks] | ||
# [http://ideone.com/ ideone 웹페이지 개발] | # [http://ideone.com/ ideone 웹페이지 개발] | ||
+ | #: 웹페이지에서 다운로드 없이 개발할 수 있는 장점이 있다. | ||
<ref>magnetah, 〈[https://blog.naver.com/magnetah/221257011286 재미 삼아 코딩 <C언어> 프로그램 개발도구에 대하여 : 통합 개발 환경 종류〉, 《네이버 블로그》, 2018-04-19</ref> | <ref>magnetah, 〈[https://blog.naver.com/magnetah/221257011286 재미 삼아 코딩 <C언어> 프로그램 개발도구에 대하여 : 통합 개발 환경 종류〉, 《네이버 블로그》, 2018-04-19</ref> | ||
86번째 줄: | 181번째 줄: | ||
* [[프로그래밍 언어]] | * [[프로그래밍 언어]] | ||
* [[C++]] | * [[C++]] | ||
+ | * [[C#]] | ||
+ | * [[알골]] | ||
+ | * [[BCPL]] | ||
+ | * [[B]] | ||
+ | * [[유닉스]] | ||
+ | * [[ANSI-C]] | ||
+ | * [[자바]] | ||
+ | * [[절차지향 언어]] | ||
+ | * [[객체지향 언어]] | ||
{{프로그래밍 언어|검토 필요}} | {{프로그래밍 언어|검토 필요}} |
2019년 6월 25일 (화) 11:48 판
C 또는 C 언어는 1972년 데니스 리치(Dennis Ritchie)가 미국 AT&T의 벨 연구소 시절에 개발한 범용 프로그래밍 언어이다. 기존의 A 언어와 B 언어를 개량하여 만들었다. 빠른 처리 속도가 필요한 시스템 제어 분야에 많이 사용한다. C 언어를 변형하여, C++, C#, 비주얼 C++, 엠에프씨(MFC), 프로씨(Pro-C), 오브젝티브-C, 스위프트, 러스트 등 다양한 프로그래밍 언어가 만들어졌다.
목차
역사
알골 -> BCPL -> B 언어로 개조되는 과정에서 발생[1]
발생 동기
- 케네스 톰슨(Ken Thompseon)이 벨 연구소에서 MULTICS 운영체제를 개조하여 유닉스를 만들던 중 기계마다 운영체계를 제작 하다시피 하여 만드는 애로사항을 해결하고자 이식성이 좋고, 호환성이 좋은 언어로 제작하여야겠다는 필요성을 가졌다.
- 이때 데니스 리치(Dennis Ritchie)가 B 언어를 개조하여 1972년 C언어를 제작하고, 이를 이용하여 유닉스를 다시 만들게 된다.
- 사용자가 늘어남에 따라 매뉴얼이나 지속적인 작업이 이루어지지 않아 초기에 개발회사나 사용회사별로 C 언어가 혼란을 겪게 된다.
- 이후 1982년 C++이 개발되며 더욱 성장하게 된다.
제작 과정
- 1958년 프로그래밍 언어의 이론과 개념의 등장
- 1960년 국제정보처리학회연합(IFIP)에서 알골을 제작
특징
C 언어의 장점
- 이식성이 뛰어나다.
- C 언어는 다른 프로그래밍 언어보다 높은 호환성을 가지고 있고 C 언어의 표준함수로만 작성된 프로그램은 어떤 기종의 컴퓨터에서도 정상적으로 컴파일되고 실행될 수 있다.
- 다양성을 가진다.
- C언어는 과학 계산용 프로그램뿐만 아니라 FA(공장 자동화), OA(사무 자동화), GUI(Graphic User interface), 시스템 프로그램(System program), 응용 프로그램(Application Program)과 같이 다양한 분야에서 사용할 수 있도록 설계된 효율적인 프로그램 언어이다.
- 절차 지향적 특징을 지니고 있다.[2]
C 언어의 단점
- 유닉스를 기술하기 위한 언어로서 개발되었기 때문에 유닉스가 가진 약점을 그대로 가지고 있다.
- 자료형의 검사기능이 미약하다.
- 혼합연산의 경우 연산 우선순위에 따라 자동 계산되므로 연산 우선순위를 모르면 잘못된 계산 결과를 얻을 수 있다.
- 프로그램을 모듈화하지 않으면 이해하기 어려운 프로그램이 되는 경우가 많다.[2]
절차지향 언어와 객체지향 언어의 차이
절차지향 언어
- 대표적인 절차지향 언어로는 C 언어가 있다.
- 위에서부터 아래로 정해진 절차(순서)에 따라 실행된다.
- 프로그래밍 수준이 복잡하지 않고 유지 보수하기가 쉽다.
- 객체지향보다 코딩 속도가 빠르다.[3]
객체지향 언어
- 대표적인 객체지향 언어로는 C++, 자바가 있다.
- 절차지향으로 해결하지 못할 정도로 많은 기능을 만들게 되면서 복잡해진 코드를 작성하기 위해 등장한 언어
- 추상화 : 객체들의 공통적인 특징을 뽑아내는 것
- 캡슐화 : 데이터 구조와 데이터를 다루는 방법을 결합해 묶는 것
- 상속 : 상위개념의 특징을 하위개념이 물려받는 것
- 다형성 : 일을 하는 함수를 같은 이름으로 호출해 주는 것[3]
다른 컴퓨터 언어와 비교
C 언어와 C++
C 언어는 1972년부터 사용되기 시작해 현재까지 핵심적인 컴퓨터 언어로 사용되고 있다. C 언어는 절차 지향적 언어임에 반해 C 언어의 개량형으로 알려진 C++의 가장 큰 특징은 객체지향 언어이며 광범위함이다. C++은 추상적인 개념을 통해 구성을 먼저하고 그 후 그것들을 조합하는 상향식 접근 방법으로 만들어진다.[4]
C 언어와 자바
자바 또한 객체지향 언어로 지금까지 여러 소프트웨어 개발의 주축이 된다. 기계와 근접한 위치에서 실행되거나 하드웨어를 직접 다루는 경우 C 언어는 컴파일 시 바로 기계코드로 컴파일이 되어 프로세스에 의해 직접 실행된다. 따라서 중간 코드인 바이트 코드로 컴파일되어 기계코드로 다시 변환하는 자바의 경우 제한된 메모리를 최적으로 사용해야 하는 프로그램에는 C 언어가 유용하다.[5]
기초 문법
메인 함수
C 언어는 절차지향 언어로 main 함수 하나만을 호출하여 main 함수가 끝날 때 까지 실행한다. 만약 main 함수에서 다른 함수를 호출하는 경우 해당 경로를 따라가서 해당 함수를 실행 후 다시 메인 함수로 돌아온다.
헤더 파일의 선언
헤더 파일은 헤더 파일 내부에 있는 함수를 사용하겠다고 미리 알려주는 역할을 한다.
#include <stdio.h> int main(void) { printf("Hello, C"); return 0; }
이 문장은 printf( ); 함수를 이용해 Hello, C 라는 문장을 출력하고자 하는 것이다. 이때 맨 위에 작성된 #include <stdio.h> 를 헤더 파일 부분이라고 하는데, 이 부분을 작성하지 않으면 main 함수는 printf가 무엇인지 모르기 때문에 에러가 발생한다.
헤더 파일의 종류
헤더 파일의 분류는 크게 표준 라이브러리 헤더 파일과 사용자 정의 헤더 파일로 나눌 수 있다.
- 표준 라이브러리 헤더 파일
- 표준 라이브러리 헤더 파일은 개발 프로그램의 내부에 미리 선언되어있어 가져와 사용기만 하면 된다.
- 해당 헤더 파일의 예로는 stdlib.h , stdio.h , math.h, string.h , time.h 등 다양한 헤더 파일이 있다.
- 표준 라이브러리 헤더 파일은 개발 프로그램의 내부에 미리 선언되어있어 가져와 사용기만 하면 된다.
- 사용자 정의 헤더 파일
- 사용자 정의 헤더 파일은 사용자가 직접 헤더 파일을 정의 하는 것을 의미한다.
세미콜론( ; )
세미콜론을 안 붙이게 되면 컴파일 에러가 발생한다. 따라서 한 문장이 끝나면 세미콜론( ; )을 쓰는 것으로 마친다.
- 예외의 경우
- if, for, while 문의 경우 해당 문장에는 세미콜론을 쓰지 않는다. (do while의 경우 while 문에 세미콜론을 붙인다.)
if 문
if(a < 10) { printf("a"); }
for 문
for (int i = 0; i < 10; i++) { printf("a"); }
while 문
while(a < 10) { printf("a"); }
do while 문
do { printf("a"); } while(a < 10);
개발도구
- 비주얼 스튜디오
- C 언어 개발 도구로 가장 유명하며 마이크로소프트에서 개발, 2년마다 새로운 버전이 개발되고 있다.
- dev C++
- 무료 오픈소스 개발도구이며 비주얼 스튜디오보다 설치가 간단하다.
- Code::Blocks
- ideone 웹페이지 개발
- 웹페이지에서 다운로드 없이 개발할 수 있는 장점이 있다.
각주
- ↑ 1.0 1.1 1.2 luckey, 〈C언어의 유래와 역사〉, 《makebyhand 블로그》, 2009-03-19
- ↑ 2.0 2.1 ashly77, 〈C언어의 특징, C언어의 정의, C언어의 장단점〉, 《네이버 블로그》, 2011-03-14
- ↑ 3.0 3.1 zzaxowns, 〈[C++ 절차지향 언어와 객체지향 언어]〉, 《네이버 블로그》, 2019-03-11
- ↑ JJOREG, 〈C++ 과 C의 차이점〉, 《티스토리닷컴》, 2014-06-25
- ↑ Serdar Yegulalp, 〈C 프로그래밍 언어가 여전히 최고인 이유 : 개발언어 일대일 비교〉, 《ITWorld》, 2018-06-22
- ↑ magnetah, 〈[https://blog.naver.com/magnetah/221257011286 재미 삼아 코딩 <C언어> 프로그램 개발도구에 대하여 : 통합 개발 환경 종류〉, 《네이버 블로그》, 2018-04-19
같이 보기