具有下列:鑄造指針返回功能的結果指針的參考,可通過另一種功能的參數
char* function1(char* parameter)
{
printf("%c",*parameter);
}
char* function2(char* sequence)
{
return *sequence;
}
int main()
{
char* sequence = malloc(1);
*sequence = 'a';
function1(function2(sequence));
}
該程序運行是理所當然給分段故障,因爲函數2的呼叫返回一個指針,並且function1調用需要一個引用來指向它的指針參數。
有沒有辦法將函數2返回的指針作爲參數傳遞給函數1?
當您取消引用char *時,您會得到一個字符。不太清楚爲什麼你會在function2中返回一個char *。 –
否 - 當您用'return * sequence'解除引用時,您將其丟失了。 – ThingyWotsit
注意編譯器錯誤信息;如果你沒有看到,那麼你需要調整你的編譯器設置。 (不要忽略這個) –