Pointer

Computer Language/C

[C]void pointer

모든 포인터는 4byte의 크기를 가지므로, void포인터라는 형태가 없는 포인터도 사용이 가능하다. void pointer는 여러가지 자료형에 상관없이 저장이 가능하나, 컴퓨터가 그 자료를 읽어오기 위해서 필요한 데이터의 크기값(int 4byte, char 1byte ...)이 없어서 호출시 해당 자료형을 알려주어야 호출이 가능하다. *(char*)p = 형식으로 표기한다. 호출시 자료형을 지정하지 않으면 불러울 수 없다.

Computer Language/C

[C]포인터변수 pointer

p는 int *p 형식으로 정의되어 있으므로, int * 형식(메모리주소값.&) 만 들어갈 수 있다. 여기에 p=70과 같이 int값을 넣어버리면 오류가 난다 포인터는 변수다. 자신의 자료형과 일치하는 변수의 주소를 저장한다. (int*p 는 int의 주소만 저장하고, str의 주소는 저장할 수 없다.) 통상적으로 int의 크기는 4byte 이므로 4byte로 가정하고, 주소값은 (편의상 10진법으로) 임의로 &a = 100, &p = 500 으로 설정한 경우, [참고로 여기서 가정한 주소값은 실제로는 저렇게 대입하면 정수와 주소값의 자료형이 다르므로 불가능함. 편의상 주소값을 10진수로 표기] a[2] = *(a+2) &a[2] = a+2 배열식 표현 포인터식 표현 int* p = int *p (별 위..

kthdev
'Pointer' 태그의 글 목록