C언어 1일차

이장훈·2022년 4월 26일
0

인터프리터 : 고급언어로 작성된 프로그램을 한 줄씩 읽어 들여 실행하는 프로그램이다.
script언어 처럼, 번역과 실행이 동시에 이뤄져 별도로 실행파일이 필요없다.

컴파일러 : 고급언어로 작성된 프로그램을 컴퓨터에서 실행하기 위해 컴퓨터가 이해할 수 있는 언어로 번역.
전체를 번역하므로, 번역시간이 오래걸리지만, 한 번 번역한 후에는 다시 번역하지 않으므로 그 이후 실행 속도가 빠르다.

특히 java와 파이썬은 인터프린터 / 컴파일 둘다 가능하다.

변수 : 데이터를 저장할 수 있는 메모리의 기억공간

변수선언
int 변수명;

초기값 선언
int 변수명 = 초기값;

변수의 종류와 유효범위
지역변수

  • 함수/블록 안에서 선언하는 변수
  • 함수/블록 종료시 메모리상에서 소멸
  • 초기값이 없으면 쓰레기값이 들어감
  • 스택 영역에 저장됨

전역변수

  • 함수 블록 밖에서 선언핳고, 전체 함수에 영향을 준다
  • 프로그램이 종료될 때 메모리상에서 소멸된다
  • 데이터영역에 저장된다.

정적변수

  • static 으로 선언하고, 선언된 블록 내에서만 사용한다.
  • 함수가 종료되도 소멸되지 않고, 값이 고정된다.
  • 프로그램이 종료될 때 메모리에서 소멸된다.
  • 초기값이 없으면 0이고, 단 한번만 초기화 된다.
  • 데이터 영역에 저장된다.

동적변수

  • 메모리 동적할당으로 생성되는 변수
  • runtime 시간에 메모리를 할당한다.
  • 동적 기억장소에 할당해 메모리를 낭비를 피한다
  • 무조건 포인터 할당
  • 힙 영역에 저장한다.

산술연산자 종류

  • 이항연산자 : a+b와 같이 항이 두개인것
    % : 몫
    / : 정수 / 정수는 '정수'임을 주의해야한다.

  • 단항연산자 : ++, --
    a++ : 먼저 식을 수행하고 1을 추가해라
    ++a : 먼저 a에 1을 추가하고 식을 수행해라

  • 대입연산자
    =, +=, -=, *=, /=, %=

a+=10 (a=a+10)
a =10 (a=a10)

따라서 실습
3/4 = 0

a=10
b=a++ (b=a를 먼저하고 / ++를 하기 때문에 b=10, a가 11이된다)
c= ++a (먼저 ++이기 때문에 a =12가되고, c=a이기 때문에 12가 된다.)

profile
개발자가 꿈입니다.

0개의 댓글