• ベストアンサー

動的にメモリを確保した配列の要素数を調べるには

いつもお世話になります。 int *test; *test= malloc(sizeof(int)*10); とした場合、test[10]と扱える配列の要素数(この例だと10)を 取得するにはどのようにすればよろしいのでしょうか? 通常の要素数を取得する sizeof(test)/sizeof(test[0]) とかだと無理っぽいですし。。。 どなたかご存知の方どうぞよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • txrx
  • ベストアンサー率45% (83/184)
回答No.1

基本的に調べられません。 プログラム上で、覚えておくしかありません。 mallocは、メモリ全体のバイトサイズを指定して領域確保するので、変数の要素数はプログラマが管理する必要があります。

majikaru
質問者

お礼

素早いご回答ありがとうございます。 なるほど。無理なのですね。 了解しました。

その他の回答 (1)

回答No.2

不可能です。少なくとも言語仕様には要素数を取得する手立ては用意されていません。

majikaru
質問者

お礼

素早いご回答ありがとうございます。 なるほど。無理なのですね。 了解しました。

専門家に質問してみよう