c언어

void형 포인터

명용 2016. 8. 9. 05:57

Void형 포인터의 특징


1. 모든 데이터의 주소를 가리킬 수 있다.
2. 가리키는 대상이 정해져 있지 않기 때문에 , 사용할 때는 반드시 형변환을 해야 한다.
3. 형변환 없이 직접적으로 역참조 연산('*')을 사용할 수 없다.
4. 형변환 없이 포인터 연산이 불가능하다 . (-- , ++ , +n , -n)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
 
int main()
{
        char a = 'A';
        int b =1;
        float c = 3.14;
        double d = 5.678;
 
        void *p;
 
        printf("void*: %lu\n",(unsigned long)sizeof(p));
 
        p = &a;
        printf("char : %c\n"*(char *)p);
 
        p = &b;
        printf("int : %d\n"*(int *)p);
 
        p = &c;
        printf("float : %f\n"*(float *)p);
 
        p = &d;
        printf("double : %lf\n"*((double *)p));
 
        return 0;
}
 
cs