アプリ版:「スタンプのみでお礼する」機能のリリースについて

関数のポインタについて教えて下さい。

int(*pMax)(int number ,int *numbers);

int型の戻り値を持ち、このような引数を持つ関数のポインタを定義している一文ですが、

int *numbersについて、
なぜ*が付くのでしょうか?

混乱してます。

A 回答 (2件)

>>int *numbersについて、なぜ*が付くのでしょうか?



pMaxの*は、「これはポインターです」と宣言するものです。
同様に、numbersの前の*も、「このnumbersは、アドレスです」と宣言しています。

しばらくC言語使っていないので、あまり自信ないが・・・。
    • good
    • 0

int (*pMax)(int number ,int *numbers);




int ????(int number ,int *numbers)
と宣言する関数、つまり
 戻り値: int 型
 引数1: int型
 引数2: int* 型
という関数へのポインタ pMax を宣言するものです。

> int *numbersについて、
> なぜ*が付くのでしょうか?

関数の引数の型を指定するものです。
pMaxに代入したい関数が、int ????(int number ,int *numbers) という関数だから、としか言いようがありません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!