Cのお勉強1

Cのお勉強した記録

  • volatile

コンパイラがその変数を効率化のために削除することを防ぐもの。

  • 列挙型
enum Name{
shiota = 10, ueda, mori, tayama, takano = 5, saito} namelist;

みたいに使う。
namelist = saitoは6だし、namelist = uedaにすると、namelistは11。
型はint.

  • 共用体型

同じメモリ領域で複数の型が使用できる。

union intordouble{
int I;
double d;
}

union intordouble IOD = 3.3;

とかいうふうにつかう。

  • 汎用ポインタ、空ポインタ、間接参照
void *v = NULL;

voidでポインタ宣言するとどんな型のポインタでも代入することができる。
NULLは空ポインタといって、どこも指さないという意味のポインタである。
ポインタを通して参照することを間接参照という。

  • 変数のスコープ

{}でブロック分けした部分で変数のスコープが定まる。
同じ名前の変数を宣言した場合、外側で宣言された変数を隠します(name hiding)
つまり、そこのローカルで宣言したほうが優先されるわけです。

  • ^と~

^は排他的論理和
~はnot的な、右にあるもののビットを反転する

  • マクロ

マクロは#undefで解除できる。
#ifdef
#ifndef
とかもある
#if definedの略
Cで使える演算子が使える。

  • extern

グローバル変数は外部からも参照できるそのことを明示的に示すのが
externで宣言するとき、必ず初期化する。
extern 型名 名前だと、外部参照宣言と区別できなくなる。
外部参照宣言はプロトタイプ宣言的なもの。

  • static

一回しか初期化されないのは知ってた。
グローバル変数、定数に付けると外部から参照できないようにできる。

うー、まだ最初の40ページだぞ