char buffer[30];
char len;
... (buffer, len에 값 설정)
buffer[len] = '\0';
와 같은 코드로 작성할 경우 len의 값이 음수가 될 수 있기 때문에 경고 문구가 발생
len을 unsigned형으로 해야 안나타날듯 하다.
char buffer[30];
char len;
... (buffer, len에 값 설정)
buffer[len] = '\0';
와 같은 코드로 작성할 경우 len의 값이 음수가 될 수 있기 때문에 경고 문구가 발생
len을 unsigned형으로 해야 안나타날듯 하다.
- expected specifier-qualifier-list before 'type'
type이 소스코드 내에 정의되지 않았다. 정의해달라.
- expected '=', ',', ';', 'asm' or '__attribute__' before 'type'
? 내 코드에선 왜 발생하는지 원인분석 불가.. 미해결...
-> 내 코드에선 pthread.h 를 사용했을 때 발생한 문제인데.. gcc 옵션에서 -lpthread 라는 옵션을 주면 된다고 함.
1. C는?
벨 연구소에서 1971년경부터 리치(D.M.Ritchie) 등에 의해서 설계 개발된 시스템 기술용의 프로그래밍 언어입니다. UNIX 오퍼레이팅 시스템의 기술에 사용할 것을 목적으로 설계한 언어로 UNIX OS의 대부분이 이 언어로 개발되었습니다. 컴퓨터의 구조에 밀착한 기초 기술이 가능한 것과 간결한 표기가 될 수 있는 것 등을 특징으로 하고 있습니다.
시스템 기술용 언어의 경우에는 기억장치의 주소(address) 등과 같은 하드웨어 자원까지 기술의 대상으로 할 것을 요구하고 있는데, C 언어에서는 이러한 수준의 개념을 데이터 형이나 함수 등의 고수준 언어의 개념에 잘 대응하고 있습니다. 따라서 언어의 성격상 일반적인 범용의 언어와 거의 다를 바가 없습니다. 프로그램을 다른 종류의 컴퓨터에 이식하는 것도 용이하며, 범용 언어이기는 하지만 강력하고 고수준의 언어로 하는 것을 목표로 하고 있지 않습니다.
C 언어는 프로그램 오류를 쉽게 발견하기 위한 기능은 부족하지만, 고수준 언어에서 자주 볼 수 있는 기술상의 제약이 적기 때문에 오히려 프로그래밍하기 쉬운 편리한 언어로 평가되며, 프로그램을 간결하게 쓰기 위하여 많은 연구를 한 언어입니다.
C 언어의 기본 특징은 ASCII코드 체계로 영문 소문자 집합을 바탕으로 하고 있으며, 함수(function)의 정의문들의 집합으로 구성되어 있고, 분할 컴파일을 할 수 있어 함수 정의부 밖의 외부 변수를 정의함으로써 컴파일 단위가 다른 함수의 외부 변수를 참조할 수 있게 되어 있습니다. 또한 프로그램의 함수 기능에는 FORTRAN의 SUBROUTINE 기능과 FUNCTION 기능을 가지고 있으며, 함수 호출시 매개변수의 값만 넘겨주는 호출 방식을 따르고 있고, 자료의 주소를 자유롭게 조작할 수 있는 점들입니다.
2. C의 특징