Saturday, June 30, 2018

C - データ型

cのデータ型は、さまざまな型の変数または関数を宣言するために使用される広範なシステムを指します。 変数のタイプによって、ストレージ内でどれくらいのスペースが占有されるか、格納されるビットパターンがどのように解釈されるかが決まります。

Cの型は次のように分類できます。

No.Types & Description
1
Basic Types
They are arithmetic types and are further classified into: (a) integer types and (b) floating-point types.
2
Enumerated types
They are again arithmetic types and they are used to define variables that can only assign certain discrete integer values throughout the program.
3
The type void
The type specifier void indicates that no value is available.
4
Derived types
They include (a) Pointer types, (b) Array types, (c) Structure types, (d) Union types and (e) Function types.
配列タイプと構造タイプは集合的に集約タイプと呼ばれます。 関数の型は、関数の戻り値の型を指定します。 次のセクションでは基本タイプを、次の章ではその他のタイプについても説明します。

整数型
次の表は、標準的な整数型の詳細とその格納サイズと値の範囲を示しています。

TypeStorage sizeValue range
char1 byte-128 to 127 or 0 to 255
unsigned char1 byte0 to 255
signed char1 byte-128 to 127
int2 or 4 bytes-32,768 to 32,767 or -2,147,483,648 to 2,147,483,647
unsigned int2 or 4 bytes0 to 65,535 or 0 to 4,294,967,295
short2 bytes-32,768 to 32,767
unsigned short2 bytes0 to 65,535
long4 bytes-2,147,483,648 to 2,147,483,647
unsigned long4 bytes0 to 4,294,967,295
特定のプラットフォーム上の型または変数の正確なサイズを取得するには、sizeof演算子を使用します。 式sizeof(type)は、オブジェクトまたはタイプの記憶域サイズをバイト数で返します。 以下に、どのマシンでもint型のサイズを取得する例を示します。
#include <stdio.h>
#include <limits.h>

int main() {
   printf("Storage size for int : %d \n", sizeof(int));
   
   return 0;
}
上記のプログラムをコンパイルして実行すると、Linux上で以下の結果が得られます。

Storage size for int : 4

浮動小数点型
次の表は、標準的な浮動小数点型の詳細を示しています。これらの型は、

TypeStorage sizeValue rangePrecision
float4 byte1.2E-38 to 3.4E+386 decimal places
double8 byte2.3E-308 to 1.7E+30815 decimal places
long double10 byte3.4E-4932 to 1.1E+493219 decimal places
float.hヘッダーファイルでは、これらの値と、プログラム内の実数のバイナリ表現に関するその他の詳細を使用できるマクロを定義しています。 次の例では、float型とその範囲の値で指定された記憶領域を表示します。
#include <stdio.h>
#include <float.h>

int main() {
   printf("Storage size for float : %d \n", sizeof(float));
   printf("Minimum float positive value: %E\n", FLT_MIN );
   printf("Maximum float positive value: %E\n", FLT_MAX );
   printf("Precision value: %d\n", FLT_DIG );
   
   return 0;
}
上記のプログラムをコンパイルして実行すると、Linux上で以下の結果が得られます。
Storage size for float : 4
Minimum float positive value: 1.175494E-38
Maximum float positive value: 3.402823E+38
Precision value: 6

空のタイプ
void型は、使用可能な値がないことを指定します。 それは3種類の状況で使用されます -



No comments:

Post a Comment

Interfaces and their protocol stacks

インタフェースとそのプロトコルスタック 主要なネットワーク要素に精通した後、これら要素間のインタフェースをよりよく知る時期が来ています。 インタフェースは、MME、SGWおよびPGWが他のネットワーク要素(例えば、HSSまたはPCRF)と協働することを可能にする。 それらの...