C++ void指针解析
来源:互联网 发布:js中的radio length 编辑:程序博客网 时间:2024/06/05 16:21
指针的解析:
指针有两个属性:指向变量/对象的地址和长度 ,但是指针只存储地址,长度则取决于指针的类型 ,编译器根据指针的类型从指针指向的地址向后寻址 ,指针类型不同则寻址范围也不同,比如: int*从指定地址向后寻找4字节作为变量的存储单元 ,double*从指定地址向后寻找8字节作为变量的存储单元
void指针:
1.void指针是一种特别的指针
void *vp //说它特别是因为它没有类型 //或者说这个类型不能判断出指向对象的长度
2.任何指针都可以赋值给void指针
type *p; vp=p; //不需转换 //只获得变量/对象地址而不获得大小
3.void指针赋值给其他类型的指针时都要进行转换
type *p=(type*)vp; //转换类型也就是获得指向变量/对象大小
4.void指针不能复引用
*vp//错误 因为void指针只知道,指向变量/对象的起始地址 而不知道指向变量/对象的大小(占几个字节)所以无法正确引用
5.void指针不能参与指针运算,除非进行转换
(type*)vp++; //vp==vp+sizeof(type)
对于void指针,若要对void指针进行取值,则需要先将void指针本身转化为对应类型的指针才能进行取值
void test(void *p){ unsigned int value = ?; printf("%d\n",value);}int main(){ unsigned int vv = 10; test(&vv); return 0;}
问号处应填:*((unsigned int *)p)
0 0
- void 及void *指针解析
- C++ void指针解析
- 【c/c++】void指针
- C++Void*指针总结!
- C的void指针
- C++-指针与void*指针
- void和void指针解析(原)
- void 和 void指针 深刻解析
- void和void*指针的解析
- void和void*指针的解析
- c/c++void及void指针类型
- C/C++学习 ---- void及void指针含义的深刻解析
- 关于c语言和C++中void和void*指针解析
- 函数指针 (*(void (*)( ) )0)( ) 解析
- 函数指针 (*(void(*)())0)() 解析
- 函数指针(*(void (*)( ) )0)( ) 解析
- 函数指针 (*(void(*)())0)() 解析
- C/C++语言void及void指针
- Andriod Studio下ndk出现需要在gradle.properties中添加$USE_DEPRECATED_NDK = true的问题解法
- 安装yum
- ubuntu下JDK配置
- linux 压缩解压归档
- HDOJ 1074 Doing Homework (状压DP)
- C++ void指针解析
- Android中通知栏的使用
- 传奇服务端各文件用途说明
- java生成解析二维码
- vue学习系列-认识vue.js
- Xutils3.0简单的应用Dome
- 51nod 1080 两个数的平方和【二分】
- SpringMVC文件上传
- UVA_1025 A Spy in the Metro(dp)