空类型指针(void *)的理解
生活随笔
收集整理的這篇文章主要介紹了
空类型指针(void *)的理解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
void指針是空類型指針,它不指向任何類型,即void指針僅僅是一個地址,所以空類型指針不能進行指針運算,也不能進行間接引用(因為指針運算和間接引用都需要指針的類型信息)。
例如: void * p; //僅僅表示p存放一個地址
p++; //error:+、-運算離不開指針類型*p=20.5; //error:訪問p指向的變量空間需要變量類型信息由于其他指針都包含有地址信息,所以將其他指針的值賦給空類型指針是合法的;反之,將空類型指針賦給其他指針則不被允許,除非進行顯式轉換。
例如: int a=20;
int* ptr=&a;void *p=ptr; //OK 將整型指針值賦給空類型指針ptr=p; //error 不能將空類型指針賦給其他指針ptr=(int*)p; //OK 顯式轉換總結
以上是生活随笔為你收集整理的空类型指针(void *)的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在LINUX系统下安装RTL8111/8
- 下一篇: RabbitMQ第二种模型--workq