2014-01-19 23 views
0

碼返回指針的值?我嘗試了一切,似乎每次輸入超過1時都會崩潰。使用doublepointer

+0

'&*(* PTR + I)'是假的。你不能把表達的地址。 – wildplasser

回答

3

首先,您應該在main函數中聲明一個普通指針,然後在調用函數時使用運算符&的地址。然後在函數內部使用指針指針時使用解引用運算符*

所以在main

int *ptr; 

... 

createAndFillList(&ptr, ninput); 

而且在createAndFillList

*ptr = malloc(sizeof(int) * ninput); 
... 
    scanf("%d", &(*ptr)[i]); /* Or `(*ptr) + i` */