C言語なら俺に聞け! Part 123
■ このスレッドは過去ログ倉庫に格納されています
0768デフォルトの名無しさん
2006/03/11(土) 23:13:06(1)一つ目
文字列配列 c の要素へのポインタを c とは逆順に保持する cp の先頭アドレスで初期化された
文字列配列の要素へのポインタ配列の要素へのポインタ cpp をインクリメントし。その指し示す
文字列配列の要素へのポインタが指している文字列を表示。
(2)二つ目
一つ目でインクリメントした、文字列配列の要素へのポインタ配列の要素へのポインタ cppをさら
にインクリメントし、その指し示す保持列配列要素へのポインタをデクリメントして、その文字列配
列要素、つまり文字配列であるところの文字列先頭を指し示すポインタを3つ勧めたアドレス以降
を文字列としてその後ろにスペースをひとつ加えて表示。
(3)三つ目
さらに、文字列配列の要素へのポインタ配列要素へのポインタ cpp を、Cの構文糖であるところの [ ]
演算子による配列同等のアクセス方式を利用して、すなわち、cpp を文字列配列の要素へのポインタ
配列要素へのポインタを要素とする配列とみなし、オフセット -2 の位置の要素であるところのポインタ
が指し示す文字列配列要素へのポインタが指し示すポインタが指し示す文字列(つまり文字配列先頭
ポインタ)を3つ進めて、そのアドレス以降のデータを文字列として表示。
ちなみにcpp は(2)までに二回インクリメントされているので、cppを配列とみなした場合、そのオフセット
-2とは、つまりはcppの初期値が指し示す要素をあらわすことが自明。
四つ目
文字列配列の要素へのポインタ配列要素へのポインタ cppを構文糖により、文字列配列要素へのポイン
タの二次元配列とみなし、インデックス-1,-1位置の要素、すなわち文字配列であるところの文字列先頭
ポインタに1を足したアドレス以降のデータを文字列として表示。
ちなみにcpp は(2)までに二回インクリメントされているので、cppを文字列への二次元配列とみなした
場合、インデックス-1,-1とは、つまりはcppの初期値が指し示す要素の次の要素が指し示す文字列配列
要素へのポインタの指す要素の、一つ前の要素をあらわすことが自明。
■ このスレッドは過去ログ倉庫に格納されています