1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

C言語の基礎 (変数の捉え方) NO.2 備忘録

Posted at

#変数の捉え方

test.cpp
int a = 100;

普通に読むと
int型の変数aを定義し、その変数aに100を代入している。

具体的なイメージ
aという名前の箱に100円玉を入れた。

test.cpp
  int a = 100;
  int b = 100;
  
  if ( a == b )
  {
    CCLOG("aとbは等しい");

  } else {

    CCLOG("aとbは違う");

  }

実行結果
aとbは等しい

#考察

a == b つまり aとbは等しい。

aとbは違う箱なので箱としては別物であるはず。

しかし、実行結果は等しい。

プログラム上で表しているのは、変数aの値と変数bの値であることに気づく。

aとbは変数としては別物だけど、それぞれが保持している値は共に100である。

#アドレス

プログラム上では「変数としては別物」を、__変数のアドレス__を使って区別する。

変数名の先頭に&(アンパサンド)をつけることで、変数の格納アドレスを表す。

test.cpp
  int a = 100;
  int b = 100;
  
  CCLOG("変数aのアドレス:%p",&a);
  CCLOG("変数bのアドレス:%p",&b);
  
  if ( &a == &b )
  {
    
    CCLOG("aとbは等しいい");
    
  } else {
    
    CCLOG("aとbは違う");
    
  }

実行結果

cocos2d: 変数aのアドレス:0x16fd4922c
cocos2d: 変数bのアドレス:0x16fd49228
cocos2d: aとbは違う

変数aとbは値が同じてあるが、箱としては別物ということがアドレスで判断できる。

#まとめ

test.cpp
  int a = 100;

このプログラムでわかること。
変数の型: int型
変数の名前: a(変数の値を表す)
変数の値: 100
変数の場所: &a
変数の長さ: 4バイト

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?