이것이 c언어다 11장 도전 실전 예제

C는 원래 1972년과 1973년 사이 데니스 리치에 의해 벨 연구소에서 개발되어 유닉스에서 유틸리티를 운영했습니다. 나중에 유닉스 운영 체제의 커널을 다시 구현하기 위해 적용되었습니다. [6] 1980 년대, C는 점차 인기를 얻었다. 요즘, 그것은 가장 널리 사용되는 프로그래밍 언어 중 하나입니다,[7][8] 기존의 컴퓨터 아키텍처 및 운영 체제의 대부분에 사용할 수있는 다양한 공급 업체에서 C 컴파일러와. C는 1989년부터 ANSI에 의해 표준화되었으며(ANSI C 참조) 이후 국제 표준화 기구에 의해 표준화되었습니다. 이 페이지는 방금 학습을 시작한 사람들에게 적합한 점진적으로 더 어려운 연습의 모음입니다. 나는 새로운 운동을 마련으로 그것은 확장됩니다. GUI 질문을 제외하고, 연습은 일반적으로 알고리즘이며 라이브러리를 학습하지 않고 해결할 수 있어야 합니다. 물론 연습의 어려움은 다소 당신이 사용하는 프로그래밍 언어에 따라 달라집니다. 예를 들어 목록 연습은 목록에 대한 빌드 인 지원이 없는 C와 같은 언어에서 더 복잡합니다. 경험이 풍부한 사람이 새로운 언어를 배우고 싶어 할 때마다 훨씬 쉽게 하지만 그들은 또한 유용하다고 생각합니다. 이 달은 http://www.cnet.com/news/sorry-the-moon-wont-turn-green-on-april-20/ 흥미로운 것처럼 보이며 추상화 레이어가 얇고 오버헤드가 낮기 때문에 C는 프로그래머가 알고리즘과 데이터를 효율적으로 구현할 수 있도록 합니다.

계산적으로 강렬한 프로그램에 유용합니다. 예를 들어 GNU 다중 정밀 산술 라이브러리, GNU 과학 도서관, 수학및 MATLAB은 C로 완전히 또는 부분적으로 작성됩니다. C 프로그래밍 언어는 라이브러리를 확장의 기본 방법으로 사용합니다. C에서 라이브러리는 단일 “아카이브” 파일에 포함된 함수 집합입니다. 각 라이브러리에는 일반적으로 프로그램에서 사용할 수 있는 라이브러리에 포함된 함수의 프로토타입과 이러한 함수와 함께 사용되는 특수 데이터 형식 및 매크로 기호선언이 포함된 헤더 파일이 있습니다. 프로그램이 라이브러리를 사용하려면 라이브러리의 헤더 파일이 포함되어야 하며 라이브러리는 프로그램과 연결되어야 하며, 대부분의 경우 컴파일러 플래그(예: -lm, “수학 라이브러리 링크”의 약어)가 필요합니다. [27] C는 C#, D, Go, Java, 자바스크립트, 림보, LPC, 펄, PHP, 파이썬 및 유닉스의 C 셸과 같은 많은 후기 언어에 직간접적으로 영향을 미쳤습니다. [40] 가장 보편적인 영향은 구문이었고, 언급된 모든 언어는 C의 문과 (다소 인식할 수 있는) 표현 구문을 C형 시스템, 데이터 모델 및/또는 C와 다른 대규모 프로그램 구조와 결합하여, 때로는 근본적으로. 가능한 경우 저장소가 컴파일러에서 관리되므로 자동 또는 정적 할당이 가장 간단하므로 프로그래머는 저장소를 수동으로 할당하고 해제하는 오류가 발생할 수 있는 집안일을 해제할 수 있습니다. 그러나 많은 데이터 구조는 런타임에 크기가 변경될 수 있으며 정적 할당(및 C99 이전의 자동 할당)에는 컴파일 타임에 고정된 크기가 있어야 하므로 동적 할당이 필요한 상황이 많이 있습니다. [27] C99 표준 이전에는 가변 크기의 배열이 일반적인 예입니다.

동적으로 할당된 배열의 예는 malloc의 문서를 참조하십시오. 제어되지 않은 결과로 런타임에 실패할 수 있는 자동 할당과 달리 동적 할당 함수는 필요한 저장소를 할당할 수 없는 경우 표시(null 포인터 값의 형태로)를 반환합니다.