タグ

構造体に関するtyosuke2011のブックマーク (6)

  • C++構造体

    構造体って? C 言語で、いくつかの変数をひとまとまりにしたものを構造体といいます。例えば、下のように struct を使って定義します。 typedef struct Item { int code; /* 商品コード */ int name; /* 商品名 */ int price; /* 価格 */ } ITEM, *LPITEM ; 商品コードと商品名と価格を管理する場合、code, name, price の変数をそれそれ作るよりも商品( Item) でひとまとめすることでプログラムがわかりやすくなります。こういったまとまったデータをレコードともいいます。プログラムが小さいと大げさなように感じされますが、複雑になるにまし、struct のありがたみがわかります。 では C++ の構造体はというと、同じように使えます。C++ はCのソースコードをそのままコンパイルできるようになって

  • 計算機とプログラミング 構造体と動的メモリ確保

    構造体を用いたデータの構造化 プログラムの複雑さと変数の構造化 情報活用基礎ではC言語の基礎的な内容を学習しました.原理的には既に学習したものを用いて,ある程度実用的なプログラムを書くことは可能です.ところが,実際に実用的なプログラムを作成しようにすると,プログラムの規模が大きくなり,その全体を把握することが困難になります.このような場合,プログラムを間違いなく作成,変更することや,他人が書いたプログラムを正確に理解すること,あるいは,しばらく時間がたった後で自分が書いたプログラムの内容を正確に思い出すことは非常に難しくなります.つまり,まともなプログラムを書くことは非常に困難です.よって,実用的なプログラムを作成するには,その規模に伴う複雑さに対処する方法が必要になります. 既に学習した「関数」は複雑さに対処する一つの方法です.関数を用いればプログラムの流れを構造化することができ,プログ

  • クラス

    C++の中核 いよいよ、C++言語の真髄でありオブジェクト指向プログラミングの中核であるクラスを扱います クラスの学習はC言語の「構造体」の理解があれば比較的容易です C言語の構造体と比較しながら、少しずつその機能を紹介します C++は、手続き型言語のCを直接拡張したものなので、オブジェクト指向性は比較的低いですが オブジェクト指向型言語では、全てがこの「クラス」単位でプログラムされます クラスの宣言は class キーワードを使用します class class-name { member...; } object-list; 構造体の宣言によく似ていることがわかりますね class-nameには、このクラス型を識別するクラス名を指定します。これは、構造体のタグと同じです object-listはクラスのオブジェクトを宣言しますが、構造体同様に省略可能です また、class-nameも o

  • その他の型

    第16章 その他の型 第15章で構造体について説明しましたので、C言語初心者の方が学習すべき「データ型」についてはこれ以上は必要ないような気もします。 ただ、一部の入門書には「typedef」、「union」、「enum」についても説明がありますので、この章で取り上げたいと思います。 16-1.typedef 「typedef」は既にある型に対して新しい名前を作成するもので、次のように記述します。 たとえば、typedef がよく使われるものにビット列があります。 ビット演算をする場合には演算対象の変数は「unsigned(符号なし)」であることが条件ですが、このunsigned型をビット演算の対象である事を強調して次のように宣言したりします。 typedef unsigned char BYTE; と宣言しておくと、このあとは BYTE data; と宣言できます。これは、 unsign

  • 構造体

    プログラミングBのページへ戻る その前に,typedef 構造体とは 構造体の宣言 メンバ参照(直接参照) サンプルプログラム1 構造体の代入 構造体のサイズ 構造体の配列 サンプルプログラム2 構造体をメンバにする構造体 関数と構造体 構造体型の関数引数 構造体型の関数戻り値 構造体ポインタ型の関数引数 メンバ参照(間接参照) レポート問題 その前に, typedef typedef を用いると,既に定義されている型に,別の新しい名前をつけて定義することができる(typedef は型(type)定義(definition)を略したキーワードである).その方法は次の通り. typedef 定義されている型 定義する新しい型名; 具体的には次のようにする. typedef int seisu_t; これは, seisu_t という名前の型は int 型であると定義している. この型定義をした

  • 構造体配列のポインタ表現

    15-3.構造体配列のポインタ表現 構造体配列をポインタで扱う手順は、一般の配列をポインタで扱う場合と全く同じです。 ポインタの使用手順を忘れてしまった人は「10-2.配列とポインタ」を確認してください。 ただし、構造体へのポインタを参照するためには、「構造体->メンバ名」のようにアロー演算子(->)を使う点に注意して下さい。 #include <stdio.h> struct seiseki { int no; char name[20]; double heikin; }; int main(void) { int i; struct seiseki seito[20] = { { 1, "SAKURAI", 78.6 }, { 2, "NAGANO", 57.3 }, { 3, "TAKESHITA", 66.4 }, }; ※ 「10-2. 配列とポインタ」で学習したように、ポイン

  • 1