mallocを使った課題
授業での malloc , free を使ったプログラミングを踏まえ、以下のレポートを作成せよ。 以下のデータのどれか1つについて、データを入力し、何らかの処理を行うこと。 課題は、原則として、(自分の出席番号%3)+1 […]
malloc()とfree()
malloc()とfree() malloc() は、動的(ヒープ領域)にメモリを確保する命令で、データを保存したい時に malloc() を実行し、不要になった時に free() を実行する。 malloc() では、 […]
派生と継承
前回の派生と継承のイメージを改めて記載する。 // 基底クラス class Person { private: char name[ 20 ] ; int age ; public: Person( const char […]
効率のよいメモリ使用と動的メモリ確保
次にメモリの利用効率の話について解説する。 配列宣言でサイズは定数 C言語では、配列宣言を行う時は、配列サイズに変数を使うことはできない。 最近のC(C99)では、実は下記のようなものは、裏で後述のalloca()を使っ […]
ポインタの加算と配列アドレス
ポインタの加算と配列アドレス ポインタに整数値を加えることは、アクセスする場所が、指定された分だけ後ろにずれることを意味する。 // ポインタ加算の例 int a[ 5 ] = { 11 , 22 , 33 , 44 , […]
C言語の制御構文の基礎(part2)
制御構文とフローチャート 構文の入れ子 文と複文 C言語の文法で、{,} は複数の処理をまとめる複文とよばれる。 これに対して、a = 123 ; といったセミコロンで終わる「処理 ;」は単文という。 制御構文は、「if […]
Excel で計算式の基礎(part1)
情報制御基礎では、プログラムで計算する所を、Excel のような表計算ソフトを用いて検証してもらったりする予定なので、Excel で計算式を使う方法を説明する。 セルの場所と簡単な式 簡単な、品名・単価・個数・価格の表を […]
派生と継承
隠ぺい化の次のステップとして、派生・継承を説明する。 派生を使わずに書くと… 元となるデータ構造(例えばPersonが名前と年齢)でプログラムを作っていて、 途中でその特殊パターンとして、所属と学年を加えた学 […]
ソートアルゴリズム
前回の授業のハノイの塔は、単純な再帰方程式で処理時間のオーダーが巨大となる一例として示した。そこで、プログラムの中でよく利用されるデータの並び替え(ソート)で処理時間の分析を行ってみる。 ポインタについての説明は、前回の […]
実数型と取り扱いの注意
実数型(float / double) 実数型は、単精度実数(float型)と、倍精度実数(double型)があり、それぞれ32bit,64bitでデータを扱う。 単精度型(float)では、符号1bit,指数部8bit […]