这可能很明显但是,void指针可以安全地指向另一个指针吗?即指向int类型*
int i = 5;
int *ip = &i;
void *vp = &ip;
int *nip = *(int **)vp;
int ni = *nip; // == 5?
Run Code Online (Sandbox Code Playgroud)
编辑:对不起也许我不清楚,我想知道一个void指针是否可以指向一个具有另一个指针类型的内存部分; 没有空虚**.只是无效*
是的,您可以将任何对象指针转换void *为原始指针类型而不会丢失信息.
从马的嘴里:
(C99,6.3.2.3p1)"指向void的指针可以转换为指向任何不完整或对象类型的指针.指向任何不完整或对象类型的指针可以转换为指向void的指针,然后再返回;结果应比较等于原始指针."
| 归档时间: |
|
| 查看次数: |
376 次 |
| 最近记录: |