C에서 쓰이는 void 포인터에 대해서 질문입니다.
시나브로
2024.02.09
질문 제목 :c에서 쓰이는 void 포인터에 대해서 질문입니다.void * i 가 쓰이는 법을 알고 싶습니다.질문 내용 : void 포인트가 쓰인다고 들었습니다. 하지만 어떻게 써야되는지도 모르겠고인터넷을 읽어도 이해가 잘 안되네요....(영어라서..)c++에서도 쓰인다고 들었는데 어떻게 쓰이는 용도인지 답글 부탁드립니다.
-
든해 2024-02-09
아무 자료형이나 받을 수 있다는 것이에요 중요한건 해당 자료형을 받기(가리키기/참조하기)위해서는
그 자료형으로 형변환을 시켜줘야 한다는 거죵
메모리관련 함수의 프로토타입을 보면 위와같이 void*로 되어있어요 즉 아무 자료형의*가 올 수 있다는거
메모리에는 숫자도 들어가고 문자열도들어가고 등등 int*, char* doule* 등 이런식으로 형변환시켜서 ㅇㅇ -
흰여울 2024-02-09
whyask37/ 답글에 감사 합니다. :)
-
해골 2024-02-09
예를 들면 이런거죠.
int memcmp(const void* p1, const void* p2, size_ size);
p1, p2가 무슨 형인지는 중요하지 않은 좋은 예
자세한건 memcmp를 검색해보세요. -
뽀글이 2024-02-09
답변 감사합니다 예로 이런 느낌인건가요?
void *Hamsu(int x) ..? -
우수리 2024-02-09
void 형 포인터는 범용적인 함수의 인자처리나 출력 등에 자주 사용되는 것으로 알고 있습니다. 출력이나 자료형 고정을 위해서 케스트 연산자를 사용하는게 필수구요.