아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
느긋한쇠오리233
느긋한쇠오리23319.06.04

c언어 void형포인터 문자열 출력에 대해 질문드립니다.

void형 포인터에서 문자열을 출력하고자 합니다. 어떻게 해야 되나요?

하기 code처럼 하면 될까요?

#include <stdio.h> void main() { char *str="GOOD"; void *vpnt; vp=str; printf("%s\n",*vpnt); }
55글자 더 채워주세요.
답변의 개수
1개의 답변이 있어요!
  • #include <stdio.h> #define MAX_NUM 100 void *allocMemory() { void *ptr = malloc(MAX_NUM); return ptr; } void main() { char *str="GOOD"; char *vpnt = allocMemory(); strcpy(vpnt, str); printf("%s\n", vpnt); free(vpnt); }

    이렇게 하면 될것같습니다.

    vp는 대상체가 정수형 변수라는 것을 모르기 때문에 *vp 로 이 번지에 들어있는 값을 읽을 수는 없습니다.

    vp는 포인터 연산 자체도 안되구요.

    만약 vp 번지에 저장된 값이 문자열이라는 것을 확실히 알고 있다면 캐스트 연산자를 사용해야 합니다.