60%할인 이벤트
이미 소장하고 있다면 판매해 보세요.
|
1. C의 기본적 지식
2. 정수 3. 데이터형 4. 배열과 문자열 5. 형 변환 6. 기억 클래스 7. 초기화 8. 연산자 9. 제어문 10. 포인터 11. 함수 12. 구조체 13. 비트 필드 14. 공용체 15. 프리프로세서 16. 콘솔 입출력 함수 17. 입출력 이외의 표준 함수 18. 파일 처리 함수 |
|
1. C의 기본적 지식
2. 정수 3. 데이터형 4. 배열과 문자열 5. 형 변환 6. 기억 클래스 7. 초기화 8. 연산자 9. 제어문 10. 포인터 11. 함수 12. 구조체 13. 비트 필드 14. 공용체 15. 프리프로세서 16. 콘솔 입출력 함수 17. 입출력 이외의 표준 함수 18. 파일 처리 함수 |
|
C의 함수 사이에서 데이터를 주고받을 때 지금까지 설명한 방법 외에도 외부 변수를 이용하는 방법이 있다. 외부 변수는 어떤 함수에서든 참조할 수 있기 때문에 이 특징을 이용하면 인수를 사용하지 않고 함수 간에 데이터를 주고받을 수 있다. 이 방법은 간단한 방법이지만 변수의 충돌이 일어나기 쉽고 변수의 값이 어디서 변화하는지도 알 수 없다는 단점이 있다. 또한 함수는 특수한 약속하에서만 작동하게 된다. 따라서 이 방법의 남용은 금물이다. 그러나 프로그램이 커지면 외부 변수로 관리하는 편이 자연스러울 때가 있다. 또한 함수 사이에 많은 인수를 자주 주고받을 때 외부 변수화하면 보다 간결하게 처리할 수 있다. 예를 들어 리턴값이 10개나 필요한 함수의 경우 외부 변수를 이용하는 편이 났다. 그래도 이용할 때는 신중하게 취급하도록 하자.
--- p.248 |
|
포인터는 주소를 유지하기 위한 것이며 주소는 프로그래머가 설정해야 한다. 만일 주소를 설정하지 않고
int *ip; *ip=100; 라고 하면 엉뚱한 주소로 설정될 수도 있기 때문에 컴파일러가 포인터 ip가 초기화되어 있지 않다 는 경고를 내보낸다. 또한 다음과 같이 숫자를 직접 지저ㅇ하면 내용을 파악할 수 없는 주소를 읽고 쓰게 되어 위헙하다. ip=0xFFF0; 따라서 일반적으로 다음과 같은 방법을 취한다. -포인터에는 컴파일러가 확보한 의미 있는 주소(보통 변수의 주소)를 설정한다. 그리고 꼭 절대번지를 설정해야 할 때는.. --- p.188 |
|
이전에는 빠른 실행 속도를 요구하는 프로그램은 어셈블리어로 개발되어 왔으나 현재 대부분이 C로 대체되었다. 어셈블리어는 전체 프로그램 중에서 고속의 실행 속도가 필요한 모듈에만 부분적으로 이용되고 있다. 물론 어셈블리어는 앞으로도 계속 사용되겠지만 생산성 면에서의 우위는 확고부동하다.
머리말 중에서 |
|
다양한 곳에서 다양한 목적으로 쓰이고 있는 C는 더 이상 특별한 언어가 아닙니다. 원래 C는 UNIX와 깊은 관계를 맺고 있었습니다. UNIX는 C로 쓰여졌기 때문에 C는 UNIX의 주력 언어였지요, 그러나 현재 C는 MS-DOS나 Windows에서도 가장 중요한 언어라고 할 수 있습니다. 또한 대형 컴퓨터와 슈퍼 컴퓨터 등에도 이용되고 있습니다. 그야말로 C는 다양한 분야, 다양한 운영체제, 다양한 프로그램에 이용되고 있는 것입니다. C는 이처럼 폭넓게 활용되고 있지만, 여러 범위에 적용되는 대용량 언어는 아닙니다. C의 기본사상은 언어 사용을 최대한 단순화하는데 있습니다. 그러므로 C를 배울 때 암기해야 하는 "양"은 매우 적습니다. 문자열 비교 기능조차 함수에 의해 처리됩니다. 그러나 C에는 고유의 특성이 많기 때문에 알아둬야 하는 사항의 "질"은 높다고 할 수 있습니다. 이러한 깊이 있는 언어를 학습하기 위해서는 빈틈없이 구성된 샘플 프로그램을 보고 C의 기본적 동작을 익혀야 합니다. 이것은 초보자에게 적합한 매우 효과적인 방법입니다. 그러나 입문 단계를 넘어선 독자가 C에 대한 보다 상세한 지식을 얻고 싶을 경우 이 방법에는 한계가 있습니다. 상세한 사항들을 익히기 위해서는 보다 체계적으로 배울 필요가 있습니다.
--- 머리말 중에서 |