【初心者歓迎】C/C++室 Ver.48【環境依存OK】at TECH
【初心者歓迎】C/C++室 Ver.48【環境依存OK】 - 暇つぶし2ch737:デフォルトの名無しさん
08/02/16 04:04:52
考えてある程度予想してみたんですが、この考えで合ってますか?

質問大量ですみませんが
(1)char *p="aaaaaaaaaaaaaaaaaaaaaaaaaaaa";やc="aaaaaaaaaaaaaaaaaaaaaaaaaaaa"
↑ポインタってアドレスを格納するのに何で文字列を入れれるの?
これはどこのアドレスを入れてるの?
自動的に領域を確保して"aaaaaaaaaaaaaaaaaaaaaaaaaaaa"を入れてそのアドレスを入れてるってことですか?
もしそうだとしたら、関数内で宣言してその関数からでた場合はその領域は開放されるんでしょうか?

(2)cout<<sizeof(c)<<endl;とした場合4になる
どうみてもaは5つ以上あるのになんで4なの?
これはchar *pのサイズ(参照するアドレスを入れる領域のサイズ)だからですか?
ちなみにstrlenだと35でした。

(3)sprintf(c,"aaaaaaaaaaaaaaaa");や strcpy(c,"aaaaaaaaaaaaaaaa");でコンパイルして実行するとエラー
これは確保されていない領域に無理矢理文字列を突っ込もうとしてるからですか?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch