スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
.-- -- スポンサー広告 comment(-) trackback(-)

C語メモ書き:malloc/free関数

メモリブロックを確保したり(malloc)、開放したり(free)するための関数。

メモリの割当を行うmalloc関数はパラメーターにサイズを渡します。

void* malloc(size_t size)

ポイント

この関数の戻り値がvoid*になっているので

プログラマはこのポインタを受取って、必要な型へのポインタにキャストして使います。

メモリの割当に失敗するとNULLが返される。

/****************************************************************************/

一方、のfree関数は、malloc関数で受取ったポインタを引数に渡して、その領域を開放する関数。

void free(void *ptr)

ポイント

この関数を呼び出したら、引数に渡したメモリブロックはもう使えない。
.28 2010 C語:関数 comment0 trackback0

C語メモ書き:rewind()関数

rewind()関数

ファイル位置を先頭に戻すときに使います。

書式は

void  rewind(FILE *fp)

ですって。。。

引数はファイルポインタなんだけど

今の私はポインタの理解にまで至っていない。。。(-_-;)
.28 2010 C語:関数 comment0 trackback0

C語メモ書き:fgets関数

fgets()関数

行単位で文字列を読み込むときに使う。

ということはPythonの

F.readline()
F.reaklines()

と同じ機能なわけね。

char* fgets(char *str, int n, FILE *fp)

で、ファイルfpから、バッファstrに対して

n-1文字に達するか、改行まで読み出す。

ファイル終端に達するか、エラーになるとNULLを返し、

それ以外はstrを返す。

ポイント

読み込む先としてバッファを指定する必要がある。

通常はchar型の配列を使う。

そして、第二パラメータでバッファのサイズを指定。

改行文字を区切りとして読み出しを行ったときは

バッファの最後に改行が格納された状態で返ってくるトコも注意
.28 2010 C語:関数 comment0 trackback0

C語メモ書き:関数の考え方

関数作りは、作る処理に名前を付けるところから始まります。

関数の名前は識別子なので、変数と同じような感覚

そして、ここで利用方法をイメージ

目的達成のために必要な入力と出力を検討します。

パラメーター

関数を定義する作業はパラメーターを規定する作業から始まるので

どのようなパラメーターを渡して処理を行うのかを検討します。

パラメーターも変数とほぼ同じ感覚なので、型と名前を持ちます


戻り値

次に考えなければいけないのは、関数が返す結果です。

関数から見ると、出力という位置づけになります。


そして、関数の書き方を一般化すると

型 関数名 (型 仮引数名、 型 仮引数名.....)


そして、値を返すためにはreturn文を使います。

return 返す値;

return文はそれを実行した段階で、関数の処理を終了して

呼び出し元に返ります。

ただし、値を返すときは返す値が戻り値の型と一致していなければなりません。
.14 2010 C語:関数 comment0 trackback0

C語メモ書き:関数とは

関数(function)は、ある程度まとまったプログラムの処理を命名してまとめたものです。

なので、処理を分かりやすい単位でまとめて名前をつければ

誰が見ても分かりやすいプログラムになります。

また、

このある程度まとまった処理をくくり出しておけば、

プログラム中で数カ所、その処理が必要である場合、

関数を呼ぶだけで、その処理が実行されます。

また、その処理に問題や変更があった場合も

その関数を修正すれば、プログラム全体が修正されます。

.07 2010 C語:関数 comment0 trackback0
 HOME 

プロフィール

Author:emi
日々、コンピューターとにらめっこしていた2010。
公の仕事に就くことを目指して教科書とにらめっこ2011,spring。
はたして2012は・・・

最新トラックバック

検索フォーム

ブロとも申請フォーム

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。