多重指针
1 看到一个关于多重指针的说法:“需要频繁改变指针指向时使用”,为什么频繁改变就要用多重指针?
2 建立链表时malloc分配了空间,清空链表时为什么需要使用双重指针?
void DeleteAll(LearList* pTemp)
{
LearList* p = NULL;
while(pTemp)
{
p = pTemp;
pTemp = pTemp->pNext;
free(p);
}
}
void fun(int *p)
{
int pTemp = p;
*pTemp = 100;/*这样就能修改p指向的内容了!*/
}
fun(&i);/*这样i就被修改为100了!*/
void fun(int **p)
{
int *pTemp = NULL;
pTemp = malloc(1*sizeof(int));/*分配一个int型的空间*/
if(NULL != pTemp )
{
*p = pTemp ;
}
}
fun(&pi);/*这样pi就向了fun中分配的int型空间了!*/