忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


2024/11/23 08:33 |
データ型のまとめ(C++)

間違ってるとことかあったら、教えてください。

基本データ型
関数や変数などを定義する際は、すべてデータ型を指定する必要がある。
既存の関数もすべてデータ型が指定されている。
データ型は大まかには、論理型、整数型、浮動小数点型、文字型などに分類される。

論理型
bool
二者択一の表現をする論理型。boolean type
定数として、true,falseが使える。
前者は値1(真)に相当。後者は値0(偽)に相当。

整数型/文字型
int
整数を表現する型。整数型。integer type
表現範囲はマシン環境に依存。

long int
longと略記できる。32ビット環境ではlong型変数を使う場面は多くない。
なので、そんなに重要じゃない?

char
ASCII文字ひとつを表現できる型。文字型。(整数型)
特別に文字を扱うための便利な機能を持っているわけではない。
int型と機能上は同じ性質を持つ。表現する範囲が異なっているだけ。
文字列の最後には文字コード0が置かれる。

unsigned
整数型の変数の頭に"unsigned"を付けることで、
表現範囲の符号をなくす。
つまり、負の数の表現ができなくなるが、
正の数の表現範囲が倍に増えるということ。
unsigned char/unsigned intなど

浮動小数点型
float,double
小数の表現が可能な型
floatは7桁までの小数に有効。
doubleは15桁までの小数に有効。

*****
string
文字列処理のできる型。
基本データ型ではなくユーザー定義型ということに注意のようだ。

*****
その他の型
ビギナー編には載ってないので後々理解していけばいいのかな?
これより下は後回しで!
***
列挙型
 列挙型は、表意的な文字を整数値で表す特殊な型です。enum キーワードを使って宣言し、要素(定数)は{}で囲んで定義します。
書式: enum 型名 { 要素リスト } 変数1, 変数2, ... ;

enum primarycolor {red, green, blue} ;      // 宣言の基本形
enum primarycolor {red, green, blue} pricolor1; // 宣言と同時に変数を宣言
enum {red, green, blue} procolor1, pricolor2;  // 列挙体名を省略


 上記の様にすると、最初の要素から順に、0( = red), 1( = green), 2( = blue) の整数値が当てられます。

*****
複合型
 複数のデータ型を持った特殊なデータ型も利用できます。これには、構造体、共用体などがあります。構造体は struct 、共用体は union を使って宣言します。なお、これらの内容については 別章「構造体篇」を参照してください。

// 構造体
/* 複数のデータ型のデータを
    一つのデータとしてまとめる */
struct Member {
    int id ;
    char name[64] ;
} ;

// 共用体
/* 同じメモリ領域にあるデータを
    別のデータ型として認識させる */
union MojiData {
    char moji[4] ;
    int numeric ;
} ;

 また、クラスを使うとより応用範囲が広がります。変数や定数、関数など、データ型や異なるスコープの様々なデータを一箇所に集めて処理することができます。なお、この内容については別章「クラス篇」を参照してください。
// クラス : 様々なデータや関数をひとまとめにする
class Card {
    char name[10] ;       // 変数
    int  figure ;            // 変数
    void setprop() ;       // 関数
} ;

******
typedef
 typedef キーワードを使って新しい型を定義することができます。
下記の例では、unsigned char 型の uchar 型を定義しています。
以降、uchar 型として変数や関数を定義することが可能になります。
書式: typedef データ型 型名 ;

typedef unsigned char uchar ; // uchar型の作成

 構造体なども同様に新しい型として定義することができます。
struct tagPoint {
    int X;
    int Y;
} ;
typedef struct tagPoint Point ;        // Point型の作成

PR

2009/02/25 19:47 | Comments(0) | TrackBack() | プログラム

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<ヘッダ部分? | HOME | コンパイルのメモ>>
忍者ブログ[PR]