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



'c언어' 카테고리의 다른 글

ANSI C 표준 함수  (0) 2016.08.10
구조체 배열 포인터 중얼-1  (0) 2016.08.10
구조체  (0) 2016.08.08
조건부 컴파일  (0) 2016.08.08
정보 올림피아드 - 147  (0) 2016.08.03

+ Recent posts