トップ 言語 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 /Burp /Eclipse /Fiddler /gcc /gdb /Git /g++ /JDK /JMeter /JUnit /Teraterm /ZAP

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

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

Web API
Google Maps

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

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

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

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

PC製品
ZOTAC

SI
ホームページの作り方

その他
IT用語 /ITスキル体系

スポンサーリンク

関連サイト内検索ツール

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

IPアドレス確認ツール

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

3.149.28.19

HTMLの表示色確認ツール

パスワード生成ツール

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

ここに生成されます。

スポンサーリンク