티스토리 뷰

* 메모리 구조 및 관리상의 특징


- 지정 : 직접지정, 간접지정

. 직접지정 : 변수 선언(메모리 확보), 물리적 위치는 컴파일러가 알지 나는 모른다(매번 바뀐다) 

. ASMR : Address Space Layout Randomization ( 주소영역임의변경 ), VC -> Alt+F7 -> 구성속성 -> 링커 -> 고급 -> 임의 기준 주소 -> 예

> 예제 실행을 위해서 주소가 바뀌지 않게하기 위함



ex) int nData=300;

     int *pnData=&nData;


     *((int*)0x0018FF28)=600;   // 직접지정

     *pnData=600;                   // 간접지정



* 포인터 : 함수 내부에서는 크게 사용할 일이 없다. 함수가 많을때 포인터가 빛을 발한다.

ex) 한 함수에서 정의된 배열 int aList={1,2,3,4,5}; 를 다른 함수 TestFunc가 참조해야 할때

     함수의 이름을 매개변수(aList)로 해서 주소값을 전달


void TestFunc(int *paList)

{

    ...

}


int main(void)

{

    ...

    int aList[5] = {1,2,3,4,5};


    TestFunc(aList);


이런 식으로...






댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함