|
void main()
{ unsigned short int *k = 1+2+3
)
컴파일러가 위에 문장을 에러가 발생합니다.
즉 에러 메세지는 데이타형이 틀리다!나불나불~ 그럼 상수에 데이타형을
전환하여서 ~
그럼 unsigned short int *k= (unsigned short int *) 6 하면 잘 컴파일
됩니다.
그럼 이걸 컴파일하고 코드세크멘트에서 보면~
unsigned short int *k 는~
~~~~~~~~~~~~~~~~~
최좌측에부호사용금지/2바이트할당/정수형/
최좌측에부호사용금지/2바이트할당/주소형/스택에 999번지
=
~
입력하라
(unsigned short int * ) 6
~~~~~~~~~~~~~~~~~~
최최측에 부호사용금지/2바이트할당/정수형/
최촤측에부호사용금지/2바이트할당/주소형/ 6
그럼 이게 작동하면
코드영역에 6이 데이타영역 스택에 999번지에 입력!!
위를 자세히보면 상수랑 변수는 둘다 코드영역에 존재하고 데이타형있다
그러나 틀린점은 포인터변수는 스택을 가리키는 번지가 존재하고~~!!!!!!!!!
상수는 스택을 가리키는 번지가존재하지 않고 자체 코드안에 그냥 값이
들어서 데이타형이 이걸 숫자로 해석하던지 문자로 해석하던지
주소로 해석하던지 그런것 아닌가요 ?
yes. no?
ps ) c는 왜그렇게 언어가 압축되고 생락된 부분이 많은것같군요
마치 씨처럼~ 그러니 절라 난해하지 보기에 ...~~쩝!! 개인적생각입니다.
|