
#include <stdio.h> int main(void) {
char str[] = "abcde";
for (char* p = str; *p; ++p) {
++(*p); printf("%s\n", &(*p)); }
}
において、char* p = str;の部分は「strの文字列の文字の先頭のアドレスの番号(例えば7005)をポインタpが適当に確保した他のアドレスのメモリにアドレスの番号7005が収納される」という解釈で良いですか?
No.3ベストアンサー
- 回答日時:
合っていると思います。
№2さんの質問については、
①「適当に」というのは、プログラムコードでアドレスを指定していないので、OSが未使用のアドレスを割り当てるため、「適当」です。適切かつ妥当なアドレスです。いいかげんなという意味での適当ではありません。いいかげんは「良い加減」とも言えますが。
「他のアドレス」とは、例えば7005番地に確保するとstrの内容が変わってしまうので、7005番地以外のどこか他のアドレスです。
№1さんが言うように、そこまで厳密に作業内容を理解しようとするのは大変かと思いますが、そういう理解の進め方は、将来もっと高度なプログラム作りをするうえで役に立つと思います。
No.2
- 回答日時:
良いか?と聞かれると、
①「ポインタpが適当に確保した」の「適当」ってどういう意味か?
②「他のアドレスのメモリ」の「他」ってどういう意味か?
を明確化しないと解釈への合意が得られないと、自分は思います。
もっとシンプルで良いと思うけど、lolzaさんの解釈を尊重するなら、回答No.1の「まぁエエんちゃいまっか。」に同意。
No.1
- 回答日時:
> 「strの文字列の文字の先頭のアドレスの番号(例えば7005)をポインタpが適当に確保した他のアドレスのメモリにアドレスの番号7005が収納される」
もはや何書いてんだか分かんないし日本語としてクドくてヤバいけど、まぁエエんちゃいまっか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
allocってなんですか?
-
GDI+におけるメモリの開放について
-
グローバル変数のサイズ
-
C++で、メンバもヒープに確保さ...
-
プログラムが途中で強制終了し...
-
gcnew arrayによるメモリ確保に...
-
floatが機能せず、レイアウトが...
-
c言語のポインタへの文字列入力...
-
VB.netでのwin32api呼び出し
-
メモリ操作…Releaseの反対は?
-
DLLで同じメモリ領域を参照する...
-
ビットをローテートするプログ...
-
C++のnewで確保したメモリーの...
-
CreateFileMapping について
-
大容量の静的な確保の限界値
-
void*型のデータサイズ
-
指定したメモリアドレスの値の...
-
char*型が0x0を含む場合
-
HEAP に関すること
-
関数から配列を返すには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c言語のポインタへの文字列入力...
-
allocってなんですか?
-
newしないオブジェクトについて
-
DLLのマルチスレッドの動作につ...
-
C++で、メンバもヒープに確保さ...
-
C++のnewで確保したメモリーの...
-
ヒープメモリの解放について
-
malloc呼び出し時のセグメンテ...
-
配列の添え字の最大数とは?
-
LoadLibraryでAccess Violation...
-
入れ子になった構造体について
-
Accessで、メモリを開放するタ...
-
VB.netでのwin32api呼び出し
-
DLLで同じメモリ領域を参照する...
-
デストラクタを呼びたい
-
win32APIのHeapAlloc()の使い方...
-
メモリ不足になってしまう。
-
C言語 mallocとfreeについて
-
ビットをローテートするプログ...
-
mallocで確保するメモリの領域...
おすすめ情報