2014-04-25 55 views
4

關於C編程的快速問題。我沒有參加過這個課程,但是在線閱讀關於指針和各種使用的符號。以下行是否會生成10個指向整數的指針數組,或者是一個指向10個整數數組的指針?指針問題在c

int *x[10]; 

此外,還會產生一個函數,它將一個double作爲輸入並返回一個指向字符的指針?

char (*f) (double a); 

在此先感謝!

編輯:錯誤地鍵入第一行代碼。

回答

7

採用一個雙輸入,並返回一個char指針看起來像這樣的功能:

char * foo(double arg); 

哪裏arg是你輸入雙,foo是函數的名稱,char *是返回類型,一個字符指針。

char (*foo)(double arg); 

聲明一個函數指針,需要一個雙(arg),並返回一個char的功能。


您嘗試創建數組時缺少變量名稱。並有兩種不同的方式做到這一點...

int * array[10]; 

此聲明與持有int *,INT指針10項指標的數組。

int (*array)[10]; 

聲明一個指向整數數組與10

2

int *x[10];意味着x是一個有10個元素的數組,每個元素都是指向int的指針。

char (*f) (double a);表示f是指向返回char並具有double類型的一個參數的函數的指針。

+0

感謝的大小,我打完了第一行錯了,但糾正之後,所以希望這不再是一個錯誤。 – user3421751