C语言 - void * 指针 和 空指针

1. void * 类型指针 指向存放数据的地址,但是该地址存放的数据的数据类型我们暂时不知道。

举个例子,我们的动态内存分配就是这样,一开始只是分配地址,但没有知道这块地址用了存放什么,接着强制类型转换,使得它用来存放我们想要存放的内容。

int*str=(char*)malloc(sizeof(int)*13);

上面这条代码,malloc()函数分配的地址一开始是void * 类型的,因为我们用来存放int类型数据,所以强制转换为int  *  。

2. 空指针有指向,但是它指向的地址是特殊的,该地址不允许存放数据和不允许程序访问,所以空指针不能操作该地址里的东西,我们就理解为“指针指向了空,无法操作了”。

你可能感兴趣的:(C/C++)