1.カスタム・タイプ
typedefは:
構文:typedefを宣言、それ一種変数の型の別名のことです。//変数宣言文。
typedefとの#defineの違い:
1)異なる構文。
2)の#defineが交換されていないtypedefは、純粋に代わり、カスタムタイプがあります。
3)名前、#はtypedefの_tは、一般的に端に小文字を使用し、表現する文字大文字一般的な使用を定義します。
4)のtypedefは複合型ではなく、マクロ定義を定義することができます。
2.構造:これで変数の型は、この変数はデータタイプに対応する複数のデータを有することになるので、データの種類は、複数の複合型に合わせました。
1)フォーマット:構造体の学生{
int型NUM;
文字名[20]。
...
}。
宣言型の2)構造
A。変数のような一般的なステートメントを使用して
構造体の学生{
文字名[20]。
int型NUM;
}。
構造体の学生ST;
B。それは、変数宣言したのと同じ時間では、(共通)から生まれたことができます
構造体の学生{
int型NUM;
文字名[20]」
} ST。
C。構造が匿名構造体である複数の構造、
構造体の学生{
int型NUM;
文字名[20]。
構造体{
int型;
文字B;
} TT。
}
可変構造3)動作
直接名前で構造内の要素へ。アクセス
フォーマット:そのよう:. St.nameなどの要素名構造変数名、
B。アドレス構成要素によってアクセス
構造体の学生* SP; //構造体へのポインタを定義します
SP-> NUM = 100; .num(* SP)に相当します。
C。他のタイプと同様の残りの動作
初期化4)構造
アレイの割り当てと同様に方法、直接{}ラップによって複数のデータ、及び注文入力されたコンテンツを埋めます。
B.値は、それらの1つまたは複数に割り当てることができます。
名前が、後で配列に従って割り当てられた名前を指定されていない場合、C。、特定の要素名の割り当てを指定(数値は順不同であってもよいです)。
構造5)割り当て
通常の変数、直接割り当てと。
サイズ6)の構造
それが作成された構造、メモリ配置。
計算方法:第一の要素の数である最大サイズを見つける(値キャップシステム32は、64バイトが8で、4バイト)
A。ために、メモリを分割します。
B。アプリケーションを整列させるために、メモリ素子の最大サイズは、次のとおり。
スペースの残りは一つの要素を下に置くには十分でない場合は、C。、それは、新しいスペースを開くこの十分ではないスペースをスキップします。
最後のメモリの空の終わりがある場合D.は、メモリの構造に組み込まれます。
3.ユニオン/組合連邦
一般的なボディを持つすべての文法構造と同様に、例:
労働組合のテスト{
int型;
文字B;
}
関数呼び出し、労働組合の引数が渡された場合は、アドレスの種類を選択せずに通過しました。
一般的なボディが解決しようとする問題点:種類以上の使用。
4.列挙定数
特徴:均一なデータエイリアスの同じタイプの様々な。
フォーマット:enmu enumの名前
列挙部材1,2 ...}列挙部材
。ではC、低レートで使用される列挙型は、列挙型の名前を書く必要がないように最適化されています。
名前が整数定数である後に内部B。列挙メンバー。
あなたは+1値の割り当ての各メンバーの形式で列挙メンバーを初期化しない場合は、C。、最初のゼロから初期化されていません。
D。列挙型メンバーが一定である、それは彼に割り当てを与えることはできません。
e.switch文は、ケースのXXXを列挙定数を使用することができます。
5.#は(単なる置き換え)マクロを定義します
フォーマットます。#define名内容
マクロ機能:の#define関数名(パラメータリスト)({含量;})
注意:
パラメータリストAなしマクロ機能データ型。
B。ただ、純粋交換。
Cマクロ返す関数の最後の式の値。
D。新しいスタックを開きませんが、それを置き換えるために、純粋に言及します。
短所:
。マクロ機能誤ってプログラムのロジックを破壊した場合、エラーの原因を見つけることは困難である、貧しい人々の互換性は、それが一般的に簡単なマクロ機能を定義されていません。
6.準備ステートメント
#で始まる。文
B。最初のステップのGCCコンパイラを(削除する)開始されたでは、速度はプログラムには影響しません。
注意:
治療前から。Aフレーズは、あなたが複数行にすることはできません、行することができます。
B。名前は、一般的に資産計上されます。
内容があまりにも多くの場合、C。、我々は統合の行の内容に追いつくために、次の行の内容を\使用することができます。
7.ヘッダファイル:各Declareステートメントは、.hの最後に特別なファイルをまとめます。
ヘッダファイルの内容:
。準備ステートメント
B。Declareステートメント関数宣言、型宣言
道のヘッダファイルをインポートします:
書式#include <ヘッダーの.h>システム環境で探して、システムはヘッダーファイルを追加するには、このようなものが付属しています
#include「ヘッダの.h>は現在のシステムを見つけることがない場合にのみ、追加されるローカルのヘッダファイルを探しています。
標準表記ヘッダファイル:
_FUNC_HEAD_H #ifndefのヘッダファイル#ifndefの現在のマクロ
マクロの#defineの#defineファイルの現在のヘッド_FUNC_HEAD_H
ヘッダ・ファイルの内容
#endifの
8.条件付きコンパイル文(共通):対応するコードを保持して選択する、等価の残りの部分はコメント。
(1は、次にステートメント上で実行される、文0実行されるB)の#if 1
A;
#そうしないと
B;
#endifの
#iindef
#そうしないと
#endifの