본문 바로가기
컴퓨터/C

C 언어

by Begi 2016. 3. 5.
반응형

키워드 (Keyword)

C의 키워드는 컴파일러에서 미리 정의된 글자를 의미한다. C의 모든 키워드는 다음과 같다.

 

 auto    double   int        struct
 break    else     long        switch
 case    enum     register   typedef
 char    extern   return      union
 continue for     signed      void
 do    if     static      while
 default  goto     sizeof      volatile
 const    float     short        unsigned

 

변수 크기

대부분의 C 컴파일러에서 변수 크기는 다음과 같다.

변수   Byte
char 
short 
int 
long 
float 
double 

변수 크기는 컴파일러마다 조금씩 다르다. 

☞ AVR 컴파일러의 변수

☞ PIC  컴파일러의 변수

 

if 문

■ 흔한 실수

if(a==1)를 if(a=1)로 잘못 입력하는 실수를 하기 쉽다. if(a=1)는 항상 참이 된다.

 

■ 유용한 표현법

  if(a==1)
  {
    b=2;
    c=3;
  } 

위와 같은 C 코드는 다음과 같이 간단히 할 수 있다.

  if(a==1) b=2,c=3;

 

변수 선언을 콤마로 여러개 하는 것은 많이 알지만 if 문도 콤마를 사용할 수 있다는 것은 잘 알지 못한다.

 

for 문

C에서 for 문은 엄청나게 많이 사용한다. for가 사용되지 않는 C 코드는 거의 없을 것이다.

for 문을 사용한 대표적인 예는 아래와 같다. 아래 코드에서 Task 함수는 10번 실행되고 i는 0에서 9까지 증가되고 마지막 for 문을 빠져나올때는 10이 된다.

 // 예제#1
 for(i=0; i<10; i++)
 {
    Task();
 }
그럼 다음 코드에서는 Task 함수가 몇번 실행될까? 아래 코드에서는 Task 함수가 10번 실행되고 i는 10에서 1까지 감소하고 마지막 for 문을 빠져나올 때는 0이 된다.
// 예제#2
 for(i=10; i>0; i--)
 {
    Task();
 }
for 문의 규칙은 다음을 기억하면 쉽게 이해된다.
  for 문의 첫번째 항은 처음에 항상 실행된다.
  for 문의 두번째 항을 만족할 때까지만 i가 증가/감소한다.
  for 문을 빠져 나올때는 두번째 항을 만족하지 않는 조건의 값이 i에 들어간다. 

위의 3가지 규칙을 두번째 예제에 적용하면, 처음에는 i가 10이 되고, i>0을 만족하는 1이 될때까지 감소한다. 그리고 for 문을 빠져나올때는 1보다 하나 작은 0이 된다.

 

포인터 (Pointer)

포인터는 C에서 가장 중요하고 가장 이해하기 어려운 개념이다. 중요한 이유는 포인터가 하드웨어와 직접 연결되어 하드웨어를 제어할 수 있기 때문이다. 포인터가 배우기 어려운 이유는 컴퓨터 구조에 대한 약간의 지식이 필요하기 때문이다. 

 

포인터는 변수가 저장된 주소를 의미한다.

 

포인터 이해

 

반응형

'컴퓨터 > C' 카테고리의 다른 글

C의 min, max 함수  (0) 2019.10.17
[C] 포인터의 이해  (0) 2019.02.05
C++ 연산자 오버로드  (0) 2018.08.13
C 언어 나누기 연산  (0) 2018.06.26
[C] volatile 선언문  (0) 2016.04.03

댓글