Test/C
메모리와 포인터1 : 메모리 구조 및 관리상의 특징
kiostory
2018. 12. 17. 21:14
* 메모리 구조 및 관리상의 특징
- 지정 : 직접지정, 간접지정
. 직접지정 : 변수 선언(메모리 확보), 물리적 위치는 컴파일러가 알지 나는 모른다(매번 바뀐다)
. 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);
이런 식으로...