Void 指標 (Void Pointer)

Void 指標 (Void Pointer)

Void 指標 教學與筆記。

宣告

void * 表示這個指標可以指向任何類型的數據 (函數除外)。

1
2
int a = 10;
void* p = &a; // address

指標取值

不能直接使用 * 取值,須先使用型態轉換 (type *)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>

void main() {
void* p = 0;
printf("%d\n", *p); // error, 'void*' is not a pointer-to-object type

// int
int a = 1;
p = &a;
printf("int : %d\n", *(int*)p);

// char
char b = 'x';
p = &b;
printf("char : %c\n", *(char*)p);
}
Author

Meow Lucian

Posted on

2019-06-22

Updated on

2022-07-04

Licensed under

Comments