C 언어
do { ... } while(0) 을 사용하는 이유
do { ... } while(0) 을 사용하는 이유
2016.12.21do { ... } while(0) 을 사용하는 이유원문 : https://kernelnewbies.org/FAQ/DoWhile0리눅스 커널 등의 소스 코드를 보게 되면, "do { ... } while(0)"과 같은 것을 많이 씁니다. 당연히 중괄호 안의 내용이 한 번만 실행되고 끝나는 프로그램인데, 왜 이렇게 만들었을까요?다음과 같은 이유가 있습니다. ▶ Miller : 빈 구문(empty statement)는 컴파일러가 경고를 냅니다. ▶ Miller : 지역 변수를 선언할 수 있는 구역을 만들어줍니다. ▶ Collins : 조건문을 포함한 코드에서 복잡한 형태의 매크로를 사용할 수 있도록 해줍니다.#define FOO(x) \ printf("arg is %s\n", x); \ do_somethin..
[C 언어 기초] 3. C 언어의 미래
[C 언어 기초] 3. C 언어의 미래
2016.12.21C 언어의 미래1980년대 초에 C 언어는 이미 Unix를 사용하는 컴퓨터 세계에서 지배적인 언어가 되었습니다. 그때부터 개인용 컴퓨터와 메인프레임으로 서서히 퍼져 나가기 시작했습니다. 많은 소프트웨어 개발 회사가 C 언어를 사용해서 워드 프로세서, 스프레드시트, 컴파일러, 그 밖의 소프트웨어 제품들을 개발하고 있었으며, 이는 C 언어를 사용하면 간결하고 효율적인 프로그램을 만들 수 있다는 것을 뜻합니다. 더 중요한 것은, C로 만든 프로그램은 수정하기가 쉬울 뿐만 아니라 새로운 모델의 컴퓨터에 적용하기도 쉽습니다.소프트웨어 회사와 C 언어의 고수들에게 좋은 언어라면 다른 사용자들에게 역시 좋을 것입니다. 점점 더 많은 컴퓨터 사용자들이 C의 장점을 활용하기 위해 C 언어로 전환하였습니다. 그렇다고 해서..
[C 언어 기초] 2. C 언어가 인기 있는 이유
[C 언어 기초] 2. C 언어가 인기 있는 이유
2016.12.20C 언어가 인기 있는 이유C 언어는 현재 가장 중요하고 인기 있는 프로그래밍 언어 중 하나가 되었습니다. 많은 C 사용자들이 C++ 언어로 넘어가기도 했지만, C는 그 자체로도 중요하며, C++ 언어를 배우는 발판이 됩니다. 다음은 C 언어의 장점 중 몇 가지를 나열해 봤습니다. 1. 제어구조가 강력합니다. 2. 실행 속도가 빠릅니다. 3. 코드가 간결합니다. 4. 이식성이 좋습니다.설계상의 특징C 언어는 하향식 설계와 구조화 프로그래밍, 모듈화 설계를 쉽게 적용할 수 있는 환경을 제공함으로써 신뢰할 수 있고 이해하기 쉬운 프로그램을 만들 수 있습니다. 효율성C 언어는 컴퓨터를 효율적으로 사용할 수 있도록 설계된 프로그래밍 언어입니다. 그래서 C로 만든 프로그램 역시 작고 실행 속도 또한 빠릅니다. C를..
[C 언어 기초] 1. C 언어의 역사
[C 언어 기초] 1. C 언어의 역사
2016.12.19C 언어의 역사C언어는 취미로 프로그래밍하는 사람과 직업으로 하는 사람 모두에게 인기 있는 강력한 프로그래밍 언어입니다. 1972년 Thompson의 B 언어를 기반으로 Unix 운영체제를 위해서 만들어진 C언어는 거의 30년이 넘게 지난 지금까지도 많은 사람에게 사랑받고 있는 언어 중 하나입니다. 객체지향이 일반화되고 C++, JAVA, Python과 같은 C와 비교해 더 편한 언어들이 나왔음에도 불구하고, 상업적으로 또는 학습용으로 자리를 지키고 있습니다. C언어가 인기를 끌게 되자, 산업현장에서는 쉽게 응용을 할 수 있도록 표준화가 필요해졌고, 그리하여서 1983년 ANSI(American National Standards Institute)에서 C에 대한 표준을 정의하게 됩니다. 이후 C를 위한 ..
[C 언어 기초] 이 강좌의 접근 방법과 목표
[C 언어 기초] 이 강좌의 접근 방법과 목표
2016.12.18이 강좌의 접근 방법과 목표이 강좌의 목표는 혼자서도 C 언어를 공부할 수 있도록 친절하고 유용한 자습서를 제공하는 것입니다.이 목표를 달성하기 위해 다음과 같은 전략들을 수용했습니다.1. 프로그래밍의 개념을 C 언어와 함께 천천히 설명합니다. 2. 간단하고 많은 예제를 통해서 이해를 돕습니다. 3. 텍스트만 가지고 이해하기 어려운 개념은 그림을 이용해서 좀 더 명확하게 전달합니다.이 강좌가 설명하는 각 주제에 대해서 능동적인 태도를 보여야지만 최대의 효과를 낼 수 있습니다.단순히 예제를 눈으로 읽는 것에 그치지 말고, 시스템에서 직접 타이핑하고 실행해보세요.C는 이식성이 있는 언어지만, 독자의 시스템에서 강좌의 내용과 다르게 작동하는 부분이 있을 수도 있습니다. 그럴 때는 프로그램 일부를 수정하면서 어..