What is the difference between first and second case, why does the first work as expected, while the second doesn't? (in the second case i am trying to introduce a pointer that dereferences the pointer to pointer, in order to avoid typing extra asterisks).
int _tmain(int argc, _TCHAR* argv[])
{
int* test = NULL;
foo(&test);
}
case 1:
void foo(int** ppPar)
{
*ppPar = (int*)malloc(sizeof(int));
**ppPar = 7;
}
case 2:
void foo(int** ppPar)
{
int* pPar = *ppPar;
pPar = (int*)malloc(sizeof(int));
*pPar = 6;
}