할당 14. 1 동적 변수 할당 15 함수 15. 1 함수의 호출 방식 15. 1. 1 - - stdcall - - cdecl 15. 2 inline 15. 3 static 함수 15. 4 루프 실행 15. 4. 1 for 15. 4. 2 while 15. 4. 3 do ~ while 15. 4. 4 switch 16 외부 링크 전처리기 매크로 [ 편집 ] # include 다른 프로그램 코드 파일을 선언 위치에 붙여 연결한다. # define 특정 코드 영역을 재 정의 한다. 상수, 함수, 프로그램 블 등 다양한 정의를 할 수 있으나 주로 상수를 많이 사용한다. # undef 정의 된 코드 영역을 해제 한다. 주로 정의된 상수를 많이 사용한다. # if, # elseif, # else, # endif 특정 코드 영역을 컴파일에 포함시킬 것인가를 조건 조사해서 결정한다. # pragma 컴파일러에게 다양한 옵션을 지정하거나 설정 한다. 자료형 관련 [ 편집 ] C / C에서 취급하는 자료의 종류는 크게 정수형, 실수형으로 나누어 생각할 수 있다. 정수형 : 정수 ( char, int ), 논리형 ( bool ), 문자형 ( char, wchar - t ) 논리형은 bool이 추가 되었지만 C /
union · default bool ( C99 ) 기타 void · const · enum typedef · static · extern volatile 비표준 - - stdcall · - - cdecl C 프로그래밍 언어 v. d. e. h 이 부분의 본문은 C와 C 연산자입니다. 종류와 기능 [ 편집 ] 산술 연산자 [ 편집 ] - 빼기 더하기 * 곱하기 / 나누기 % 나머지 - - 1 감소 1 증가 - = x x만큼 감소. = x x만큼 증가. * = x x만큼 곱해짐. / = x x만큼. & = x x와 비트곱. ^ = x x와 Exclusive OR 연산. 와 - - 연산자를 사용할 때, 언제 연산이 되는지 혼돈이 일어날 수 있다. char num ; char rnum ; num = 3 ; rnum = num num 5 ; printf ( " num = % d, rnum = % d n ", num, rnum ) ; rnum = num 5 - - num ; printf ( " num = % d, rnum = % d n ", num, rnum ) ; if ( num ) rnum = num 5 ; printf ( " num
##하기 때문이다. 이를 해결하는 방법은 우선 순위가 높은, [, ] 을 이용하여 지정하는 것이다. char chr ; char idx = 0x5A ; chr = 0x55 ; chr & = idx | char & 0xF1 | 0x33 ; 이렇게 코딩을 하면 & 와 | 가 혼재 되어 의도한 데로 실행되지 않는 논리적 오류를 범할 수 있다. char chr ; char idx = 0x5A ; chr = 0x55 ; chr & = [ idx | ( char & 0xF1 ) ] | 0x33 ; 우선 순위를 지정하면 비교적 개발자가 정확하게 표현할 수 있다. 전처리기 매크로 [ 편집 ] 이 부분의 본문은 C 언어 전처리기입니다. 매크로는 컴퍼일러에게 코드의 특성을 알려주는 키워드이다. 따라서 기계어로 컴파일 과정에서 필요한 요소이고, 매크로 자체가 기계어 코드로 생성 되지는 않지만 특정 코드를 제어하는데 사용한다. 자료형 ( 변수형 ) [ 편집 ] 이 부분의 본문은 C 언어 변수입니다. C 언어 자료형 부호지정 signed · unsigned 정수형 char · int · bool ( C99 ) short · long 실수형 float · doubl
##의 경우 FPU가 없는 것이 많다. char, int 정수형 변수를 선언 한다. short, long 정수형 변수의 데이터 저장 길이를 조절 한다. unsigned, signed 정수형 부호를 결정 한다. float · double · long double 실수형 변수를 선언 한다. auto 변수의 초기값등을 고려하여 자료형을 자동 선언 한다. struct · union · default 구조체 변수를 선언 한다. bool 논리형 변수를 선언 한다. C99에서 추가 되었다. wchar t 유니코드 등의 변수를 선언 한다. 함수 관련 [ 편집 ] inline 코딩은 함수 처럼 표현하지만 호출 부분에 코드가 추가된다. 일종의 블록 선언이다. 함수가 코드가 한번 존재하지만 이것은 호출 한 부분에 기계어 코드가 계속 복사된다. return 함수를 빠져 나온다. stdcall, cdecl 함수의 호출 방식을 지정 한다. 표준함수는 아니고 마이크로소프트에서 지원한다. 제어 분기 관련 [ 편집 ] if, else 조건에 따라 정해진 영역의 프로그램을 실행 한다. goto, label 특정 프로그램 코드 위치로 무조건 점프 한다. switch, case 특정 값에 따라 브랜치 점프 실행 한다. 반복문 관련 [ 편집 ] for 특정 조건이 완료 될
##는 숫자나 문자를 개발자가 이해가 쉬운 형태로 바꾸는 것이 define 이다. 그러나 개발 단계에서 디버깅 ( debug ) 과정에서 위의 정의 된 문자는 디버깅 테이블에서 제거되어 디버깅 단계에서 값이 어떤 값인지 알수가 없다. 정의 된 내용이 코드에 나오면, 바로 앞의 내용을 뒤에 정의 된 내용으로 바꾸어 치기 때문이다. 결국 컴파일 과정에서 기계어 코드에 이진수값을 넣는 방법으로 단순 대체 하는 것이다. enum { ST - NULL = 0, ST - IN, ST - OUT, ERR - NULL = ST - NULL, ERR - READ = - 1, ERR - WRITE = - 2 } ; enum은 define과 기능적으로 비슷 하지만 디버깅 단계에서 값을 확인 할 수 있다. 예를 들어 ERR - READ가 어떤 숫자 인지를 알 수 있다. 이것을 개발툴이 지원하려면 각 코드의 내용 중, 디버깅에 필요한 테이블에 등록하여 값 들을 저장하고 표시하는 것이다. 포인터 [ 편집 ] 이 부분의 본문은 C 언어 포인터입니다. 조건 판단 [ 편집 ] 프로그램에서 조건은 여러가지 곳에서 사용한다. 조건문, 루프 등에서 조건을 판단한다. 조건은 최종
break ; / /... } 블록 [ 편집 ] 블록은 프로그램 코드 중, 특정 영역을 지정하는데 사용한다. 함수는 기본적으로 블록을 포함 한다. 조건문에서 조건에 따라 코드가 여러';'가 존재할 때 만든다. 임의의 블록을 만든다. 함수에서 블록 [ 편집 ] 함수는 블록에 의해 함수의 코드 시작과 끝이 결정 된다. 따라서 함수의 시작을 위한 블록'{'으로 시작하면,'}'으로 닫아야 한다. 블록의 예 : # include < stdlib. h > # include < stdio. h > int gResNum ; int add ( int a, int b ) { return ab ; } int main ( int argc, char * argv [ ], char * * env ) { / / 함수의 코드를 시작 한다. int sum ; / / 이 지역 변수는 함수 블록이 끝나면 없어진다. int num ; if ( argc < 2 ) { / / 조건문에서 다음 개의 함수를 실행 한다. 2개의 함수 이므로 블록이 필요하다. printf ( " 숫자 입력 : " ) ; scanf ( " % d ", & num ) ; } else num = atoi ( argv [ 1 ] ) ; { / / 임의로
. switch, case 특정 값에 따라 브랜치 점프 실행 한다. 반복문 관련 [ 편집 ] for 특정 조건이 완료 될 때까지 특정 영역을 반복 실행 한다. while 특정 조건이 만족할 동안 특정 영역을 반복 실행 한다. do ~ while 먼저 특정 영역을 실행하고 조건이 맞으면 이를 반복 한다. break 현재 실행하고 있는 블록을 종료하기 위해 블록을 빠져 나온다. continue 반복 실행문에서 현재부터 다음 블록을 실행하지 않고 블록의 초기로 이동 한다. 연산자 [ 편집 ] C언어 키워드 전처리기 매크로 # include · # pragma # define · # undef # if · # elseif · # else · # endif # ifdef · # ifndef 함수 return · inline 분기 제어 if · else · switch · case · goto 반복문 for · while · do ~ while break · continue 변수 char · int · register · wchar - t short · long · unsigned float · double · long double auto · struct · union · default bool ( C99 ) 기타 void · const · enum typedef ·
, num, rnum ) ; if ( num ) rnum = num 5 ; printf ( " num = % d, rnum = % d n ", num, rnum ) ; 실행결과 : num = 4, rnum = 11 : 335 = 11 이후 num = > 4 num = 3, rnum = 11 : - - num = > 3 이후 352 = 10 num = 4, rnum = 9 : if 조건 처리후, num = > 4 이후 45 = 9 관계 연산자 [ 편집 ] > 보다 큼 > = 보다 크거나 같음 < 보다 작음 < = 보다 작거나 같음! = 다름 = = 같음 우선순위 [ 편집 ] 순위 연산자 1 [ ] - >. 2! ~ - - ( type ) * & sizeof 3 * / % 4 - 5 < < > > 6 < < = > > = 7 = =! = 8 & 9 ^ 10 | 11 & & 12 | | 13 : 14 = = - = * = / = 15, 우선 순위는 이미 위와 같이 C99 국제표준으로 정해져 있다. 그러나 개발자가 암기하는 것은 불편하다. 너무 복잡하기 때문이다. 이를 해결하는 방법은 우선 순위가 높은, [, ] 을 이용하여 지정하는 것이다. char
unsigned 정수형 char · int · bool ( C99 ) short · long 실수형 float · double · long double 문자형 char · wchar - t · 문자열 기타 auto · void · const · 포인터 배열 · struct · complex typedef · enum · extern volatile · 형변환 C 프로그래밍 언어 보기. 토론. 편집. 역사 정수형 [ 편집 ] 이 부분의 본문은 C 언어 정수형 변수입니다. char [ 편집 ] 이 부분의 본문은 char입니다. int [ 편집 ] 이 부분의 본문은 int ( C 프로그래밍 언어 ) 입니다. 실수형 [ 편집 ] 이 부분의 본문은 C 언어 실수형 변수입니다. 실수를 처리하기 위해 float와 double을 사용한다. 실수를 2진수를 표현할 때는 부동소수점 ( Float - Point ) 방식을 사용한다. 이것은 국제표준 IEEE 754 규격에 따른다. struct [ 편집 ] 이 부분의 본문은 struct입니다. const [ 편집 ] # define I - PI 3 # define DPI 3. 14159265 const int iPI = 3 ; const double dPI = 3. 14159265 ; const int num ; / / error
##어가 유닉스를 만들 때부터 사용하여 발전해 왔다. 그 동안 많은 발전을 거쳐 다양한 분야에서 사용한다. 전자공학에서 전자장치는 기본적으로 마이크로프로세서를 사용하는데, 거의 모든 소프트웨어는 C 언어를 사용한다. 기계어를 일부 사용하지만 아주 일부분만을 코딩하여 C언어와 결합 한다. 임베디드 분야에서 역시 중요하다. 리눅스 커널이 C언어로 작성되어 있으므로 이것의 포팅에서 필수 요소이다. 목차 1 전처리기 매크로 2 자료형 관련 3 함수 관련 4 제어 분기 관련 5 반복문 관련 6 연산자 6. 1 종류와 기능 6. 1. 1 산술 연산자 6. 1. 2 관계 연산자 6. 2 우선순위 7 전처리기 매크로 8 자료형 ( 변수형 ) 8. 1 정수형 8. 1. 1 char 8. 1. 2 int 8. 2 실수형 8. 3 struct 8. 4 const 9 enum과 # define 10 포인터 11 조건 판단 12 블록 12. 1 함수에서 블록 13 흐름 제어 13. 1 조건 실행 : if ~ else 13. 2 void 변수 13. 3 포인터 함수 14 정적 변수와 동적 변수 할당 14. 1 동적 변수 할당 15 함수 15. 1 함수의 호출 방식 15. 1. 1 - - stdcall - - c
C 프로그램 언어의 문법은 소프트웨어 측면에서 다양하게 사용된다. C언어가 유닉스를 만들 때부터 사용하여 발전해 왔다. 그 동안 많은 발전을 거쳐 다양한 분야에서 사용한다. 전자공학에서 전자장치는 기본적으로 마이크로프로세서를 사용하는데, 거의 모든 소프트웨어는 C 언어를 사용한다. 기계어를 일부 사용하지만 아주 일부분만을 코딩하여 C언어와 결합 한다. 임베디드 분야에서 역시 중요하다. 리눅스 커널이 C언어로 작성되어 있으므로 이것의 포팅에서 필수 요소이다.