今日の人気記事

  1. int main(void) - プログラムの基本
  2. 入力した行列の積(掛け算)を計算する
  3. printf関数の変換指定子
  4. continue文 - ループをスキップ
  5. 入力した2つの自然数の最大公約数を求める

アドレス演算子 - 変数が格納された場所

当ページのリンクには広告が含まれています。

スポンサーリンク

ここでは変数が格納されたメモリ上の場所を表示するアドレス演算子を紹介します。

アドレス

変数を次のように定義すると(ここでは例として int型)

int a;

メモリ上に変数の値を格納するための場所が確保されます。

その場所の位置というか……住所のことを「アドレス」といいます。

アドレス演算子

アドレス演算子は、変数が格納された場所を示す場合に利用する演算子のことで、「&」で表します。

例えば、変数「a」の格納場所を示したい場合は「&a」と変数の前にアドレス演算子「&」をつければ、OKです。

それでは実際にサンプルプログラムで、アドレス演算子を使ってみましょう。

サンプルプログラム

「変数の値」と「変数のアドレス」を表示するプログラムです。

#include <stdio.h>

int main(void){

  int a = 1;

  printf("変数の値 = %d\n", a);
  printf("変数のアドレス = %p\n", &a);

  return 0;
}

※ 変数のアドレスを表示する場合は変換指定子「%p」を使います。

printf("変数のアドレス = %p\n", &a);

実行結果

実行結果です。

変数の値 = 1
変数のアドレス = 0x7fff5b408bd8

このように「変数の値」と「変数のアドレス」が表示されます。変数のアドレスは16進数で表示されます。

基本構文 の人気記事

  1. printf関数の変換指定子
  2. int main(void) - プログラムの基本
  3. 変数の値を出力 - printf 関数
  4. continue文 - ループをスキップ
  5. 条件演算子(3項演算子)「? :」
  6. while文 - 繰り返し処理
  7. エスケープシーケンス - 特殊文字
  8. else if文 - 複数の条件式 - 条件分岐
  9. 関数のプロトタイプ宣言
  10. (前置・後置)インクリメント演算子, ++

関連記事(一部広告含む)