http://bbs.csdn.net/topics/70050852
對於多級指針或者數組,要掌握正確的識別方法:
void* 是說: 這是一個指針,去掉一個(*)就是它所指向的,在這里是指向放void型的地方;
void** 是說: 這也是一個指針,去掉一個(*)就是它所指向的,它指向一個放void*型的地方.
如下
#include <iostream>
int main(int argc,int * argv[])
{
int *i[2];
int a = 0;
int b = 1;
int *pa = &a ;
int *pb = &b;
i[0] = pa ;
i[1] = pb;
void **ppA = (void **)i;
return 0;
}
void* 是說: 這是一個指針,它指向任何類型的對象.
void** 是說: 這是一個指針,它指向一個void* 型的指針.這個void *的指針又指向任何類型的對象
比如找人一樣。這個人是李四
void * pdes;就好像某人的住址一樣。你到他家就可以找到他了。
但是他爸說,這小子已經被我賣了,成了張三的兒子。他爸告訴你張三家的住址,然后你去張三家就可以找到李四了。
張三的地址就是
void ** ppdes;
如果張三說,已經把李四又賣了武大。
於是就又要變成
void *** pppes;
