タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

programmingとpointerに関するkmachuのブックマーク (2)

  • Cは偉大な言語なのだ - K.Maebashi's はてなブログ

    タイトルはLife with UNIXからのパクり。 ついでなのでLife with UNIXから引用すると Cは、優れたオペレーティングシステムの七光で栄誉ある地位を築いただけの貧相な言語だなどといわれてきた。だが、それは正しくない。Cは偉大な言語なのだ。Cは実用性とやりすぎ(Adaを見よ)の間でちょうどよいバランスを保っている。処理系は簡単に実現できるし、なおかつ構造化プログラミングや変数の有効範囲、データ構造やモジュール化など、現代の高級言語のエッセンスをすべて組み込んでいるのだ。 Cはなにしろ処理系を作るのが簡単ですし、これで十分それなりの仕事はこなせるので、悪い方がよい原則に従い普及したわけですよね。これは不幸なことだったのかもしれないけど、じゃあどんな言語ならよかったのかというと、たとえば構文がbegin endになったからって嬉しいことは別になく、実用上の効果が出るには、配列

    Cは偉大な言語なのだ - K.Maebashi's はてなブログ
    kmachu
    kmachu 2007/08/22
    「ポインタでつまづくのは、アドレスがわからないためではなく、「intへのポインタに1足すと4進んだりする」といった、アドレスとは異なる挙動を示すところから」なるほど。
  • Object identity としてのポインタ - odz buffer

    hyuki (2007-08-20 (月) 06:23) ポインタは「オブジェクト」を実装しようとしたところで重要性に気づきますね。アイデンティティとしてのポインタ。 オブジェクトを識別するのに参照用の値を使うことが便利なのは分かるけど、ポインタは来参照するためのものであって、識別するためのものではないんじゃないかな。極端な話、すべての(もしくはある集合中に含まれる)オブジェクトにユニークな番号が振れればいいわけだし。 あと、構造体とか配列になると、別々の変数の参照が同じアドレスを指していたり。 #include <stdio.h> #define PUTS_BOOL(b) puts((b) ? "true" : "false") struct foo { int a; }; int main(void) { int a[10]; struct foo f; PUTS_BOOL(&a =

    Object identity としてのポインタ - odz buffer
    kmachu
    kmachu 2007/08/22
    アイデンティティって、「ポインタ」というより「ポインタが指しているアドレス」ということかな?
  • 1