« 先が全く見えない事は不安を増大させ、更に先を見る事を困難にします | メイン | BBS作成過程作業報告 »

2005年07月07日

C言語よ永遠にっ

新手の健康法

「どうしても昼間に寝てしまう」という学生の質問に対する回答で出てきた健康法なのですが、

1:夜は11時には寝ること。朝は三時に起きればよい。
各種ホルモンや疾病の起こる時間だけを考えても此れがベスト。
 そのためには、

2:昼間に運動をするとかサウナに入るなど、体温を上げる時間を作る。

3:
  ストレッチ(参考:http://www.ichiken.org/stretch/stretchingmain.htm)とか
西医学(http://www.nishikai.net/japan/)とか
真向法http://www.makkoho.or.jp/
などを徹底的に、出来るときに何回も行なう。

4:食事で体に悪いものは排除し、よいものだけを食べる・・・体は神経も筋肉もホルモンも全てが食べたもので出来ているのです。

これが基本中の基本らしいです。
もちろん私は眠気で人生の半分以上損をしていると思い込んでいる人間なので、実行しますよ。
三日で挫折しそうなんですが、とりあえず一日目はクリアしました。

とはいえ、22時30分に床に就いた物の、目が覚めたのが23:30という体たらく。
そこから3時まで一度も寝付けず延々と横になっていました。
多分体と脳を休ませる事はある程度できたと思うので、徹夜よりはかなりマシだと思うんですけどね。
まあ、これで今晩眠たくなって23時-3時睡眠が可能になればそれはそれで良いと思います。
今日のメインは課題の完成ないしほとんど完成である状態に持っていく事であり、
さすがにCのコーディング(しかも趣味の)をしながら居眠りする事はよっぽど眠たくならない限り無いと思いますしね。

mixiのバックアップ

課題の提出日は明日。
久しぶりにC言語を触りましたが、なかなかどうして覚えている物ですね。
JAVAやC++で逆にポインタの概念を以前よりは理解する事ができたので、
過去に断念した様々な事を試しています。
JAVAを触っていて溜まっていたフラストレーションを解放ですね。

とりあえず標準ライブラリは微妙に使いにくいのと、
遊んでみたかったのとでBufferedReaderのreadLine()とStringTokenizerを作ってみました。
どちらも悲しい事にポインタだらけなので、デバッグがとても面倒でしたが、何とか動作してくれていて嬉しいです。

ポインタの面白い所は、多くの関数をたらいまわしにしても、最終的に同じ所を参照できる点ですよね。
こう、呼び出し元から一本のラインが繋でっている感じです。
もちろん、定義からしてそれは当然の事ではあるんですが……。

しかし、Cに戻ってきてオブジェクト指向のありがたさが少しわかりました。
未だに継承を効果的に使った設計等はできないんですが、
クラス化して、一つの変数を複数の関数の間でだけ共有できる、という事だけでも物凄く大きな利点ですよね。
しかも一度値を設定しても、初期化する事無く新しい変数のセットを持ったオブジェクトを作り出せるわけですし。
つまり何かと言いますと、ちょっと複雑な事をやろうとするとBeginFoo(foo var)/EndFoo()のセットを使って、
必要なデータをカプセル化した複数の関数を初期化しなければならないのです。
C++であれば、コンストラクタとデストラクタで一撃ですからね。
そもそもこのやり方では複数の対象に対して同時に走らせる事ができませんし。

最も、オブジェクト指向言語が普及するまでは多くの人がC言語しか使っていなかったわけで、
きっとこのようなやり方についても良い方法があるのでしょう。
これも勉強不足ですね……。

考え付く事と言えば、一つの処理を一つのファイルに書くようにして、グローバル変数を多用かなあ。
しかし、そうするにしても結局beginとendは必要なわけで。
(mallocすればfreeしなければいけないし、値をセットしたなら初期化しなければいけないし。)

というわけで、次は指定行のデータを更新する処理です。
それが完成すれば後は細々とUIを積み上げていく事がメインになるかなあ。

投稿者 miff : 2005年07月07日 06:41

コメント



XREAAD