- ベストアンサー
動的にメモリを確保した配列の要素数を調べるには
いつもお世話になります。 int *test; *test= malloc(sizeof(int)*10); とした場合、test[10]と扱える配列の要素数(この例だと10)を 取得するにはどのようにすればよろしいのでしょうか? 通常の要素数を取得する sizeof(test)/sizeof(test[0]) とかだと無理っぽいですし。。。 どなたかご存知の方どうぞよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
基本的に調べられません。 プログラム上で、覚えておくしかありません。 mallocは、メモリ全体のバイトサイズを指定して領域確保するので、変数の要素数はプログラマが管理する必要があります。
その他の回答 (1)
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
回答No.2
不可能です。少なくとも言語仕様には要素数を取得する手立ては用意されていません。
質問者
お礼
素早いご回答ありがとうございます。 なるほど。無理なのですね。 了解しました。
お礼
素早いご回答ありがとうございます。 なるほど。無理なのですね。 了解しました。