아핫뉴스실시간 인기검색어
아핫뉴스 화산 이미지
화산 아이콘 11
비트코인 가격 하락 전망
아하

생활

생활꿀팁

느긋한쇠오리233
느긋한쇠오리233

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

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

하기 code처럼 하면 될까요?

#include <stdio.h> void main() { char *str="GOOD"; void *vpnt; vp=str; printf("%s\n",*vpnt); }
    1개의 답변이 있어요!
    • 말쑥한도롱이208
      말쑥한도롱이208
      #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 번지에 저장된 값이 문자열이라는 것을 확실히 알고 있다면 캐스트 연산자를 사용해야 합니다.