プレフィックス

BOOLb-,f-
HANDLEh-
LPSTRlpsz-
DWORDdw-
WORDw-
UINTu-
BYTEn-,cb-
intn-
shortn-
charcb-,sz-
ポインタlp-
C > 基礎 | comments (0) | trackbacks (0)

typedef

構文
typedef 既存の型名 新しい型名


typedef struct { int x, int u } Point;


・構造体の宣言でタグ名は省略できるため、
 必要でなければ無名構造体に別名を与えた方が効率的である。
・構造体に別名を与えておくと、structキーワードを指定する必要がなくなり、
 構造体変数の宣言が簡単になる。
C > 基礎 | comments (0) | trackbacks (0)

enum

構文
enum タグ名 {
 列挙子1 = 定数, 列挙子2 = 定数 ...
} 列挙変数;



enum { MSG_OK, MSG_YESNO };
enum { ID_OK = 1, ID_YES, ID_NO };


タグ名と末尾の列挙変数の宣言は、構造体や共用体と同じように
省略することができる。


#include <stdio.h>

void main()
{
 enum { Sun,Mon,Tue };

 int x = Sun;
 switch ( x ) {
 case Sun:
  printf( "日曜日の処理" );
  break;
 case Mon:
  printf( "月曜日の処理" );
  break;
 case Tue:
  printf( "火曜日の処理" );
  break;
 }
}

C > 基礎 | comments (0) | trackbacks (0)

エスケープ文字列

\a警報音
\n復改
\tタブコード
\0778進数
\xff16進数
\0文字コード0
C > 基礎 | comments (0) | trackbacks (0)

命名規約

・使用できるキャラクタは英数字、アンダーバー
・数字で始まる名前は不可
・名前の長さに制限は無いが先頭から31文字までが有効
・予約語は使用できないが、名前の一部に使われるのは構わない
・大文字と小文字は異なるものとして扱われる
C > 基礎 | comments (0) | trackbacks (0)

数値定数

数値定数例1例2
8進数0110345
10進数1001000
16進数0xff0XFFFF
指数1.234e2(=123.4)5.67e-2(=0.0567)
小数3.1442.195


サフィックス
サフィックス
long型、unsigned long型l L123456789l
unsigned int型、 unsigned long型u U123456789u
unsigned long型ul UL123456789ul
float型f F3.14f
double型l L3.14l


浮動小数点定数

float fVar1 = .314e1f;
float fVar2 = 314e-2f;
float fVar3 = 31.4e-1f;


これらの浮動小数点定数は、全てが3.14という値である。
C > 基礎 | comments (0) | trackbacks (0)

データ型

型指定子サイズ(ビット)範囲
char8-128〜127
unsigned char80〜255
short16-32768〜32767
unsigned short160〜65535
int32-2147483648〜2147483647
unsigned int320〜4294967295
long32-2147483648〜2147483647
unsigned long320〜4294967295
float323.4E-38〜3.4E+38(有効桁7桁)
double641.7E-308〜1.7E+308(有効桁15桁)
long double641.7E-308〜1.7E+308(有効桁15桁)

※32ビットCPUの場合
※指定を省略するとsignedと見なされる

int型のサイズを調べるプログラム

#include <stdio.h>
void main()
{
 printf( "%d\n", sizeof( int ) );
}

C > 基礎 | comments (0) | trackbacks (0)

予約語

autodoubleintstruct
breakelselongswitch
caseenumregistertypedef
charexternreturnunion
constfloatshortunsigned
continueforsignedvoid
defaultgotosizeofvolatile
doifstaticwhile
C > 基礎 | comments (0) | trackbacks (0)

データ表現

10進数2進数16進数
000
111
2102
3113
41004
51015
61106
71117
810008
910019
101010A
111011B
121100C
131101D
141110E
151111F
161 000010
   
311 11111F
3210 000020
   
6311 11113F
64100 000040
   
127111 11117F
1281000 000080
   
2551111 1111FF
2561 0000 0000100
   
5111 1111 11111FF
51210 0000 0000200
   
102311 1111 11113FF
1024100 0000 0000400
   
2047111 1111 11117FF
20481000 0000 0000800
   
40951111 1111 1111FFF
40961 0000 0000 00001000
   
81911 1111 1111 11111FFF
819210 0000 0000 00002000
   
1638311 1111 1111 11113FFF
16384100 0000 0000 00004000
   
32767111 1111 1111 11117FFF
327681000 0000 0000 00008000
   
655351111 1111 1111 1111FFFF
655361 0000 0000 0000 000010000
C > 基礎 | comments (0) | trackbacks (0)