
No.2ベストアンサー
- 回答日時:
まあ、実際自分で単純なコード書いて調べてみりゃエエんだよね。
#include <stdio.h>
int main(void) {
int i;
char str[] = {'a', 'b', 'c', '\0'};
char *ptr;
ptr = str; /* 配列strをptrに代入 */
/* 先頭の位置の検証 */
printf("%p\n", str); /* 変数strの「アドレス」を調べてみる */
printf("%p\n", ptr); /* ptrが保持してる「アドレス」を調べてみる */
ptr = &str[0]; /* ptrに配列strの「第一要素」のアドレスを代入 */
printf("%p\n", ptr); /* 配列strの第一要素の「場所」は? */
/* 配列の「要素」のアドレスを調べてみる */
for(i = 0; str[i] != '\0'; i++) {
ptr = &str[i];
printf("%c %p\n", str[i], ptr);
}
/* ポインタにstrのアドレスを代入して調べてみる */
ptr = str;
while (!(*ptr == '\0')) {
printf("%c %p\n", *ptr, ptr);
ptr++;
}
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
init関数の意味
-
セグメントエラー
-
Run-Time Check Failure #3とい...
-
C言語のポインタに直接アドレス...
-
ポインタについて
-
ポインタが文字化けしてる?!...
-
参照型で受け取った引数をポイ...
-
VBはCを混乱させる?
-
無効なポインタ操作のエラー
-
リトルエンディアンというもの...
-
デバイスハンドルとは?
-
LPSTR型の初期化について
-
アプリを32bitから64bit移行
-
cv::Mat から vectorにコピー
-
ポインタ同士の割り算
-
ポインタのミスでOS壊れるの...
-
CopyMemory()をmemcpy()に書き...
-
メモリのアドレスからの値の取...
-
UNICODE定義されている場合の関...
-
戻り値で構造体を返すことは可...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
セグメントエラー
-
init関数の意味
-
C言語のポインタに直接アドレス...
-
ExcelVBAでのkernel32(64bit)
-
Run-Time Check Failure #3とい...
-
戻り値で構造体を返すことは可...
-
fopne で失敗する原因
-
ハンドルはポインタか
-
LPSTR型の初期化について
-
CWnd::EnableWindow()の扱い方
-
コンストラクタでnewを失敗した...
-
アプリを32bitから64bit移行
-
参照型で受け取った引数をポイ...
-
プーさんのマウスポインタを教...
-
c言語で任意のファイルから読み...
-
ポインタについて
-
リトルエンディアンというもの...
-
別のDLLのダイアログを・・・
-
基本アルゴリズムの『返す』の...
-
トリプルポインタが必須!とな...
おすすめ情報