%sで配列の中身を表示さる時に、配列の先頭要素のアドレスを渡せば'\0'までの文字が表示される認識ですが、そうならない原因にがわからない。Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。登録してこのコミュニティに参加するどなたでも質問していただけますどなたでも回答していただけます最もよい回答には賛成票が入り、最上位に上がりますホーム質問タグユーザー%sで配列の中身を表示さる時に、配列の先頭要素のアドレスを渡せば'\0'までの文字が表示される認識ですが、そうならない原因にがわからない。"AI";/*int型のポインタpiで配列aの記憶域を操作して,AIと出力させる。*を使うのか意図がよくわからないんですが...。a[12];と宣言しているところからして、int型が4バイト(32ビット)のシステムで試されているものと仮定します。*型のポインタを通じて操作するとint型全体、つまり4バイトの領域に値がセットされ、リトルエンディアンのシステムなら、結果は以下のようになります。|41|00|00|00|??|??|??|??|??|??|??|??|またポインタ加算は要素のデータ型(のサイズ)でスケーリングされるので、その後のメモリ操作の結果は以下のようになります。*として1バイトずつ値を取り出して'\0'(=0x00)が出てくるまで出力しますから、最初の0x41(='A')だけが出力されるのは当然と言えるでしょう。*以外のポインタ)であると警告が出ると思います。*)以外の引数を%sに与えるとこのような動きになるというのはよく理解しておかれた方がいいでしょう。実行状況を調べてみると分かり易くなるかもしれません。byte)毎に移動して行きます。中身は以下の様になります。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。declaredになる。1C/C++のポインタで省メモリ/高速化をするにあたって2標準ライブラリの関数の引数の定義の読み解き方がわからない。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。