トップ 言語 C・C++ イントロダクション ポインタまずはここから!ポインタ変数の初期化

ポインタまずはここから!ポインタ変数の初期化―C言語入門の次はポインタ

C言語のイントロダクションです。C言語入門の次はポインタですね。ポインタまずはここから!ポインタ変数の初期化のプログラムの作成と実行例を紹介しています。

説明

ポインタ変数は、変数の場所(アドレス)を記憶する変数です。 したがって、ポインタ変数はまずはじめに変数のアドレスを代入して初期化しなければなりません。

ポインタ変数に変数のアドレスを代入してはじめて、ポインタの指すアドレスを見たり、そのアドレスの 変数に記憶してある値を操作することができます。

/*ポインタの初期化の例*/
int *p;      /*ポインタpの宣言*/
int n;       /*変数nを宣言*/
p = &n;      /*ポインタ変数pを変数nのアドレスで初期化*/
*p = 999;
printf("アドレス(%p)の変数の値は、%dである。\n", p,*p);
/*間違いの例)
  ポインタ変数に何もアドレスが記憶されていないので
  そのアドレスの変数に値は代入できない。           */
int *p;      //ポインタpの宣言
*p = 999;
printf("アドレス(%p)の変数の値は、%dである。\n", p,*p);

サンプルプログラム1

コード

//ファイル名:Sample1.c

#include <stdio.h>

int main(void)
{
	int *p;      /*ポインタpの宣言*/
	int n;       /*変数nを宣言*/
	p = &n;      /*ポインタ変数pを変数nのアドレスで初期化*/
	*p = 999;
	printf("アドレス(%p)の変数の値は、%dである。\n", p,*p);
	return 0;
}

ビルドとテスト

ここでは、Windows上にインストールしたBorland C++ Compilerを使用して動作確認する例を示します。

ビルド

bcc32 Sample1.c

テスト

作成したSample1.exeというファイルと同じディレクトリでSample1とコマンドラインに入力して、 「アドレス(16進数の数字)の変数の値は、999である。」と出力されます。

例)
>Sample1
アドレス(0012FF88)の変数の値は、999である。

サンプルプログラム2

コード

//ファイル名:Sample2.c

#include <stdio.h>

int main(void)
{
	// 変数nに9999を代入して表示
	int n = 9999;
	printf("変数nのアドレス(%p)の値は、%dである。\n", &n, n);

	// 変数pにnのアドレスを代入して表示
	int *p = &n;
	printf("変数pのアドレス(%p)の値は、%dである。\n", p, *p);

	// 変数p経由でnの値を変更して表示
	*p = 8888;
	printf("変数nのアドレス(%p)の値は、%dである。\n", &n, n);
	return 0;
}

ビルドとテスト

ここでは、Linux上にインストールしたgccを使用して動作確認する例を示します。

ビルド

gcc Sample2.c

テスト

作成したa.outというファイルと同じディレクトリで./a.outとコマンドラインに入力して、以下のように表示されます。

変数nのアドレス(16進数の数字)の値は、9999である。
変数pのアドレス(16進数の数字)の値は、9999である。
変数nのアドレス(16進数の数字)の値は、8888である。

以上です。

その他のイントロダクションの内容

本イントロダクションは、C言語はどういうものか、つまみ食いしてみるコンテンツです。 WindowsやLinux環境だったり、bccやgcc、VCなど複数のコンパイラーを使用しており、サンプルを動かすのは難しいので眺める用です。 習熟度を表現するため、レベルを付けています。

(太字が現在位置です。)

もっと知識を深めるための参考

戻る

スポンサーリンク

サイト内のページ

言語
C・C++ /HTML /Java /JavaScript /PHP /シェルスクリプト

開発環境
Ant /Eclipse /gcc /gdb /Git /g++ /JDK /JUnit /ZAP

技術・仕様
Ajax /CORBA /Java EE(旧称J2EE) /JNI

ライブラリ/Framework/CMS
bootstrap /jQuery /Lucene /MyBatis /Spring /Struts /Seasar2 /WordPress

ITインフラ OSとミドルウェア
Linux /Windows /シェル
Apache/Tomcat /MySQL /Redis /Solr /vsftpd

ITインフラ PC 製品
ZOTAC

ITインフラ サーバー
Web公開サーバー構築

ITインフラ ネットワーク
プログラミング /機器 /構築

ITインフラ セキュリティ
公開サーバーのセキュリティ

SI
ホームページの作り方 /小さな会社のISMS

その他
IT用語 /ITスキル体系 /トレンド履歴

スポンサーリンク

関連サイト内検索ツール

zealseedsおよび関連サイト内のページが検索できます。

IPアドレス確認ツール

あなたのグローバルIPアドレスは以下です。

34.231.21.123

HTMLの表示色確認ツール

パスワード生成ツール

文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。

ここに生成されます。

スポンサーリンク