char은 1바이트, short은 2바이트, int는 4바이트, float은 4바이트, double은 4바이트인건 알지? 그런데 그런 형식들 뒤에 \' * \'가 붙어서 선언되는 변수는 포인터라고 하는데 32비트 기준으로 4바이트의 메모리 용량을 차지하게 돼. 그런데 이 포인터 변수의 역할이 무엇일까 하고 물어본다면 포인터는 말그대로 변수를 \'가르키는\'거야! 예를들면 int a = 4; int *b = &a;라고 하면 b라는 변수에는 a의 주소가 들어가게되지. 그렇게 주소를 가지고 있는 포인터는 *b 라는 식으로 사용해서 가르키고 있는 변수를 사용할 수 있어.
병시나(61.43)2012-01-18 22:42
병시나 말에 태클걸고 싶은데가 한두군데가 아닌데 사소한거라 걍 넘어가자
횰랑(124.53)2012-01-18 22:46
ㅡ,.ㅡ 위에 다 개소리고 포인터변수나 일반변수로 할당되는 4바이트 할당량은 같어 다만, 상대적 주소 할당과 직접적 주소 할당이라는 개념으로 봐야되, 뭐 일반적으로 a라는 변수를 메모리에 할당할때 어떤 메모리 주소에 강제로 그 주소를 적어주느냐 아니면 메모리나 사용량이 커지게 되어 깔끔한 정렬과 정리를 위해 변수가 비율적으로 움직여 줘야 해서 유동적인 특징을 가지게 하느냐에 따라 포인터를 주느냐 안주느냐의 차이야
khaius(cheraf)2012-01-18 23:02
이런 설명으로 단순히 * <-- 이걸 정해준다면 int a의 값은 어떤 메모리에 강제로 주소가 할당되어 움직이지 않고, (ex> 0x00001234)같은 값에 a라는 값이 강제로 고정되는거라고 생각하면되삼
메모리에 보통 4바이트 혹은 8바이트 필드를 할당하는데 뭘 할당할지는 컴터 따라 달라
메모리에 포인터 변수 할당함
어떤 플랫폼 타겟으로 크로스컴파일하느냐에 따라 포인터 크기는 달라짐
char은 1바이트, short은 2바이트, int는 4바이트, float은 4바이트, double은 4바이트인건 알지? 그런데 그런 형식들 뒤에 \' * \'가 붙어서 선언되는 변수는 포인터라고 하는데 32비트 기준으로 4바이트의 메모리 용량을 차지하게 돼. 그런데 이 포인터 변수의 역할이 무엇일까 하고 물어본다면 포인터는 말그대로 변수를 \'가르키는\'거야! 예를들면 int a = 4; int *b = &a;라고 하면 b라는 변수에는 a의 주소가 들어가게되지. 그렇게 주소를 가지고 있는 포인터는 *b 라는 식으로 사용해서 가르키고 있는 변수를 사용할 수 있어.
병시나 말에 태클걸고 싶은데가 한두군데가 아닌데 사소한거라 걍 넘어가자
ㅡ,.ㅡ 위에 다 개소리고 포인터변수나 일반변수로 할당되는 4바이트 할당량은 같어 다만, 상대적 주소 할당과 직접적 주소 할당이라는 개념으로 봐야되, 뭐 일반적으로 a라는 변수를 메모리에 할당할때 어떤 메모리 주소에 강제로 그 주소를 적어주느냐 아니면 메모리나 사용량이 커지게 되어 깔끔한 정렬과 정리를 위해 변수가 비율적으로 움직여 줘야 해서 유동적인 특징을 가지게 하느냐에 따라 포인터를 주느냐 안주느냐의 차이야
이런 설명으로 단순히 * <-- 이걸 정해준다면 int a의 값은 어떤 메모리에 강제로 주소가 할당되어 움직이지 않고, (ex> 0x00001234)같은 값에 a라는 값이 강제로 고정되는거라고 생각하면되삼