본문 바로가기
코스웨어/14년 스마트컨트롤러

2014년 03월 18일 일일업무일지 김해성 [출석번호 9번]

by 알 수 없는 사용자 2014. 3. 19.
728x90
반응형

메모리에서는

일반적으로는 1byte씩 놔두고 주소를 숫자로 메김.

특수적으로는 2~3byte씩 주소를 숫자로 메길 수도 있음.


포인터(&, *) - 메모리에 직접 접근이 가능.

                             *는 주소를 캐스팅할 때나 값을 단항으로 쓸 때

&는 주소를 알아내는 연산자.

      

symbol table

Type(자료형)

Name(변수명)

Address(주소)

int

iNum

1000->12FF70(16진수)

int

iCnt

2000->12FF74(16진수)

&변수명(주소나옴.)


%08X - 16진수로 출력하고 빈자리는 0으로 채우고 8자리


*((int *)0x12FF70) = 100;  -  0x12FF70이라는 주소를 (int *)로 주소상수로 캐스팅 시키고,

 그 주소로 이동하여, 100을 넣는다.(iNum = 100) 

(예시1)

(예시2)

symbol table

Type(자료형)

Name(변수명)

Address(주소)

int

iNum

12FF70(16진수)

int iNum = 100;

(int *(int형 주소상수다.))0x12FF70 = 100;        //warning 뜸, 주소상수(int *) = 정수상수

   //둘 다 상수라서,

float fNum = 2.2;                                           //마찬가지로 warning 뜸, 주소상수 = 정수상수 

(float *(float형 주소상수다.))0x12FF78 = 2.2    //둘 다 상수라서.


&iNum과 (int *)0x12FF74 - 같은 뜻이다.            //같은 위치를 나타내는 것.


(예시3)

symbol table

Type(자료형)

Name(변수명)

Address(주소)

int

iNum

12FF70(16진수)

int *

iP

12FF74(16진수)

int * - 주소값을 가진다.

int iNum = 0;

int * iP = &iNum;    이면


iP는 iNum의 주소값을 가지게 된다.(iP가 iNum을 가리킨다)



20140317문제 풀이

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3-15는 문제 의미를 파악 못하겠네요..ㅠ

다른건 나름 풀었슴다..케어 부탁드릴께요ㅠ

728x90