2015년 7월 1일 수요일

20150630 변수의 존재기간과 접근범위2 ★주소를 저장하기위한 변수(포인터)

전역변수와 지역변수의 이름이 동일한 경우 해당영역 내에서는 동일한 이름의
전역변수를 가린다! 해당영역내에서 지역변수가 우선!

지역변수는 실행파일(*.exe)의 용량관련(늘어날순 있어도 줄어들진 않는다!)
전역변수는 *.obj의 용량관련

static를 변수이름앞에 붙이면 전역변수의 속성을 가지나 하나의 함수에만 사용가능
초기화 하면 data영역에 접근하여 저장
초기화 하지 않으면 bss영역에 접근하여 저장

register을 변수이름앞에 붙이면 cpu내에 존재하는 레지스터라는 메모리 공간에
저장될 확률이 높아지지만 우리가 아무리 register선언을 추가해도 컴파일러가 합당하지
않다고 판단하면 레지스터에 할당되지 않는다. 반대로 아무런 선언을 하지 않아도
컴파일러가 레지스터에 할당해야겠다고 판단하면 그 변수는 레지스터에 할당된다.

재귀함수(어셈블리어로 보았을경우 실행코드가 안좋기때문에 거의 쓰지 않는다)

댓글 없음:

댓글 쓰기