タグ

構造体とC言語に関するtyosuke2011のブックマーク (3)

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

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

  • その他の型

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

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

    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