2013-05-16 38 views

回答

3

這並不意味着文件指針翻一番,在f代表功能

一旦你看功能是如何定義這是顯而易見的:

double myfunc() 

如果我現在想要一個指針,它沒有參數,並返回一個雙功能這將是類型

double (*)() 

這是您的參數的類型。添加一個名字(fptr)將其結果如下:

double (*fptr)() 

一個名爲fptr(簡稱函數指針)參數,它是指向不帶任何參數,並返回雙重功能。

1

它不是文件指針,聲明double (*fptr)()意味着fptr函數指針返回一個double並沒有參數,(空括號表示函數指針

一個例子:假設你有一個函數像:

double fun(){ 
    double d = 0.9; 
    return d; 
} 

,那麼你可以像分配的fun地址fptr

fptr = fun; 

您可以使用fptr喜歡叫fun()

d = fptr() 

哪裏d是一些雙可變

編輯
我覺得你需要知道Pointers To Functions,在一般情況下,我們定義的函數指針,如:

returntype function (argtype1, argtype2, argtype3) 

對應的指針這樣的功能是

returntype (*ptr) (atgtype1, atgtype2, atgtype3); 

注意這裏沒有空括號,但我用的論據,你的fptr指向一個函數像我的例子,不接受的說法在給定類型。

+0

指向返回double的函數的指針。 –

4

你可能想嘗試http://cdecl.org/這樣的問題:

Ç胡言亂語↔英語

double (*fptr)() 

聲明FPTR爲指針函數返回一個雙的雙

相關問題