C言語 でつまずくのが ポインタ です。
ポインタ変数に変数のアドレスを代入することまでは分かります。
ポインタの宣言と変数のアドレスの代入
int *p = &x;
データ型 *ポインタ変数名;
変数に「&」をつけるとそのアドレスが取得できます。
&変数名;
サンプルプログラム
#include <stdio.h>
int main() {
int x = 10;
int *p = &x; // ポインタ変数pの宣言と変数xのアドレスの代入。
printf("変数xのアドレス = %p\n", &x);
printf("ポインタ変数pの示すアドレス = %p\n", p);
return 0;
}
上記を「pointer.c」の名前で保存しコンパイルします。
実行ファイル名を指定する場合は「-o ファイル名」をつけて「gcc -o sum sum.c」のようにコンパイルします。
gcc -o pointer pointer.c
「pointer」と入力して実行します。
ポインタ変数pに代入された変数xのアドレスが指し示す先の中身を操作
#include <stdio.h>
int main()
{
int *p, x; //int型の変数xとint型のポインタ変数pの宣言
p = &x; //ポインタ変数pに変数xのアドレスを代入
x = 10; //変数xに10を代入
printf("x = %d\n", x); //変数xの値を出力
*p = 100; //ポインタ変数pに代入された変数xのアドレスが指し示す先の中身に100を代入
printf("x = %d\n", x); //変数xの値を出力
return 0;
}
*を用いることで、そのアドレスに格納されている値にアクセスすることができます。
*変数名
実行ファイル名を指定する場合は「-o ファイル名」をつけて「gcc -o sum sum.c」のようにコンパイルします。
上記を「pointer2.c」の名前で保存しコンパイルします。
gcc -o pointer2 pointer2.c
「pointer2」と入力して実行します。
リンク
C言語 で つまずくところ
- ‘(シングルクォート) は、文字を数値として扱う。
- long long 型のフォーマット指定子 は「%I64d」でした。
- C言語の ポインタ は 参照渡し なのかなと思えてきました。
- C言語の統合開発環境 をアンインストールしました。
- C言語 の ポインタ をわかりやすく説明
C言語 で つまずくところ を紹介します。 C言語 でつまずくところ は ポインタと開発環境の構築 です。 C言語 の ポインタ をわかりやすく説明 C言語 で…
jikuu.work