いろいろ備忘録

雑記です。

C言語のアドレス関連

・CLionのデバッグ実行でGDBというデバッガが使える。

p &{変数もしくはメソッド名} でアドレスを表示などが可能。

gdb の使い方・デバッグ方法まとめ

 

・printf("%p",&{変数名});で変数のアドレスが出力出来る。

 

・環境でポインタのサイズは異なる。

32bitでのポインタのバイト数は4バイト (=32bit)
64bitでのバイト数は8バイト (=64bit)

そもそも32bit、64bitとはメモリのアドレスの総組合せ数。

そしてポインタとはメモリのアドレスを示すものであるため、
2^32通りを表すために4バイト、2^64通りのために8バイトが必要。

itpro.nikkeibp.co.jp

そのためポインタのサイズはintでもcharでもfloatでも何でも同じ。
「それなら全部型同じで良くない?」と思ってはいけない。
インクリメントする時にスキップする数が違うため、分ける必要がある。

C言語におけるポインタの勘違い | jikkenjo.net