c언어

수업에서 느낀점(변수)

pi92 2021. 3. 3. 08:43

두번째 수업에서는 변수들에 대해 배우게 되었다.

 

크게 외부변수와 내부변수 그리고 heap변수등이 있으며

 

외부변수 - 공유 할 수 있는 변수로

  전역변수 - 다른 파일에서 공유 가능

  정적외부변수(static) - 다른 파일에서 공유 불가능

 

내부변수

 정적내부변수(static int) - 프로그램 종료전까지 소멸 하지 않음

 자동변수(auto int) - 함수 종료시 소멸

 레지스터 변수(register int) - 외부 변수로 사용 금지하고 CPU 내에서 잡힘

 

heap변수 

 malloc, calloc  ----  free

 new              ----  delete

 

등으로 정리 할 수 있었다. 

 

함수에서는 변수 분류가 중요하며 모양에 따라 단순변수, 배열변수, 스트럭처변수등이 있다.

함수는 메모리를 절약 시킬수는 있지만 속도는 저하된다.

 

binding - 변수의 크기(정보)와 주소(메모리할당)가 언제 할당되는지

 

 

data 영역에서 정적영역과 동적영역으로 나뉘어진다.

 정적영역 - 전역변수, 정적변수

 동적영역

   heap - run시 크기, 주소 확정

   stack(자동변수) - compile시 크기화정, run시 주소확정

 

스텍 - LIFO

큐 - FIFO

 

C, C++ 언어의 특징은 포인터를 사용하여 시스템을 직접 제어 할 수 있으며, 다음시간은 포인터에 대해 배울 예정이다