関数ポインタの仕組みについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
サイカンダ
記事: 1
登録日時: 2年前

関数ポインタの仕組みについて

#1

投稿記事 by サイカンダ » 2年前

こんばんわ。
関数ポインタについて質問です。
関数ポインタを利用する際

コード:

func1 = &func

のように、関数のアドレスを代入していますが、関数のアドレスとは何を指しているのでしょうか?
他のポインタでは、変数の保存先のメモリを指すようですけど、関数はメモリに保存されているのでしょうか?

c++は、一年弱触れただけで、詳しくはわかっていません。

box
記事: 2002
登録日時: 13年前

Re: 関数ポインタの仕組みについて

#2

投稿記事 by box » 2年前

関数はメモリに保存されているのでしょうか?
だって、何らかのアドレスを持っている(メモリー中のどこかにある)からこそ
呼び出せるわけでしょ?
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

アバター
usao
記事: 1887
登録日時: 11年前

Re: 関数ポインタの仕組みについて

#3

投稿記事 by usao » 2年前

「どこにも存在しない」なら使うこともできないのだから,
「どこかにはある」ハズだよね.

その「どこか」というのが実際にどこであろうが,とにかくその場所を表現する(指し示す)何らかの値ってのを考えることができるよね.
それを「アドレス」と呼ぶなら,それが「関数のアドレス」だよね.

返信

“C言語何でも質問掲示板” へ戻る