c のデータ型は 2 つのカテゴリに分類されます。 1. 整数、文字、ブール型、浮動小数点型、null 型、およびポインター型を含む定義済み型 2. カスタム データ型、配列を含む。構造体、共用体、列挙型。
#C は、豊富な組み込みの事前定義データ型とユーザー定義データ型をプログラマーに提供します。以下では、この 2 つのデータについて詳しくご紹介しますので、参考にしていただければ幸いです。
[ビデオチュートリアルの推奨: C チュートリアル]
c のデータ型:
1. 事前定義された型
整数型
c 整数型には short、int、long、long long の 4 つがあります。それぞれに、符号付き (符号付き、デフォルト) と符号なし (符号なし) の 2 つのカテゴリがあります。符号付き整数は、負でない整数と負の整数の両方を表すことができます。ただし、符号なし整数は、負でない整数のみを表すことができます。
c の実装では、システムごとにタイプごとに使用されるストレージ ビット数 (幅) が異なります。ルールは次のとおりです。
● 少なくとも 16 ビットを確保する
● int は少なくとも short と同じ長さ
● long は少なくとも 32 ビットで、少なくとも int と同じ長さ
● long long は少なくとも 64 ビットで、少なくとも限り
文字タイプ
##タイプ | 意味 | 文字の最小数このタイプのデータが占めるビット数 |
char | Character | 8 ビット (28 文字を表すことができます) |
wchar_t | ワイド文字 | 16 ビット |
char16_t | Unicode 文字 | 16 ビット |
char32_t | Unicode 文字 | 32 ビット |
ブール型
ブール型 (bool) は、C の新しい基本データ型です。 bool 型は標準の C 言語では定義されていません。bool 型を使用する必要がある場合、プログラマはマクロ定義を通じて bool 型をカスタマイズできます。
#define bool int
#define false 0
#define true 1
ログイン後にコピー
つまり、 int 型を bool 型として定義し、int 型の 0 と 1 の 2 つの値をそれぞれ bool 型の 2 つの値 true と false として定義します。
#浮動小数点型
浮動小数点型は次の型に分かれます:空の型
キーワード void で定義された型は、通常の変数の宣言や通常の演算には使用できません。ポインタ変数、関数の戻り値にのみ使用できます。と関数。 ポインタ タイプ
ポインタは、メモリ アドレスを記述し、ポインタ操作を提供することでメモリ関連のプログラム関数を実装するために使用されます。 注: が指すメモリ空間のサイズを決定します。
ポインタ変数も変数の一種で、独自のメモリ空間を持ち、その空間に別の変数のメモリ空間が格納されます。
#2. カスタム データ型
配列型配列型は次のとおりです。一定の順序で同じ型の固定数の要素で構成されるデータ型。
1. 1 次元配列型
1) 定義
数据类型 数组名[元素个数] ;
ログイン後にコピー
2) 操作
## 添字を使用して要素にアクセスします。 添え字が範囲外かどうかに注意してください。 (プログラムの実行効率を確保するため、C では添え字の範囲外のチェックは行いません。範囲外でも実行できますが、結果は予測できません。) #●初期化
int a[10] = {1,2 ,3};//その他の要素は0に初期化されます
int a[] = {1,2,3};//要素の数要素は 3
2、二次元配列型
1) 定義
数据类型 数组名[常量表达式1][常量表达式2]
ログイン後にコピー
2) 初期化
int a[2][3] = {{1,2,3},{4,5,6}};
//等同于
int a[2][3] = {1,2,3,4,5,6};//二维数组可以转成一维数组进行处理,但是要注意下标
ログイン後にコピー
int a[][3] = {{1,2},{3,4,5}};//第一个下标可以省略,其他的不能,更高维的数组也同此。
ログイン後にコピー
行単位で格納!
構造データ タイプ1. 構造構造とは、同じタイプまたは異なるタイプの一連のデータで構成されるデータ コレクションです。 。
定義:
struct 名称{
数据类型 变量名1;
数据类型 变量名2;
。。。。
数据类型 变量名n;
}结构体变量名;
ログイン後にコピー
2. 構造体配列:
struct Info{
int age;
char name[32];
}info[SIZE];
ログイン後にコピー
3. 構造体のネスト:
struct BookInfo{
char name[SIZE];
char author[SIZE];
int status;
};
struct ReadreInfo{
char Name[SIZE];
char Date[SIZE];
};
//结构体嵌套
struct LibraryInfo{
int ID;
struct BookInfo book;
struct ReadreInfo reader;
}LibraryInfo;
ログイン後にコピー
ユニオン型 共用体の使用は、構造体や通常の変数と似ています。
union 名称{
类型变量符 变量名;
......
类型变量符 变量名;
};
ログイン後にコピー
共用体の主な機能はメモリを節約することです。これは、共用体の変数は構造体のメンバー変数とは異なり、システムが各変数に対応するメモリを割り当てるためです。共用体では、すべてのメンバー変数がメモリ空間を共有します。このメモリ空間は、メンバ変数の中でバイト数が最も大きい変数が占有するメモリ空間であり、すべてのメンバ変数がこのメモリ空間を共有するため、共用体内のすべてのメンバ変数のアドレスは同じになります。
列挙型
列挙型 (列挙) は、C の派生データ型です。ユーザーがコレクションによって定義した列挙定数の数です。 。 変数に取り得る値が少数しかない場合は、列挙型として定義できます。いわゆる「列挙」とは、変数の値を 1 つずつ列挙することを指します。変数の値は、列挙された値の範囲内にのみ収まります。
列挙を作成するには、キーワード enum を使用する必要があります。列挙型の一般的な形式は次のとおりです。
enum 枚举名{
标识符[=整型常数],
标识符[=整型常数],
...
标识符[=整型常数]
} 枚举变量;
ログイン後にコピー
列挙型が初期化されていない場合、つまり「=整数定数」が省略されている場合は、最初の識別子から開始されます。
たとえば、次のコードは色の列挙を定義しており、変数 c の型は color です。最後に、c には値「blue」が割り当てられます。
enum color { red, green, blue } c;
c = blue;
ログイン後にコピー
デフォルトでは、最初の名前の値は 0、2 番目の名前の値は 1、3 番目の名前の値は 2 などとなります。ただし、初期値を追加して、名前に特別な値を割り当てることもできます。たとえば、以下の列挙では、緑の値は 5 です。
enum color { red, green=5, blue };
ログイン後にコピー
ここでは、デフォルトでは各名前がその前の名前より 1 大きいため、青の値は 6 ですが、赤の値は 0 のままです。
以上がC++のデータ型とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。