タグ

ポインタに関するItisangoのブックマーク (5)

  • Cクイックリファレンス 第2版

    書はプログラミング言語Cの機能を網羅したリファレンスです。言語仕様やライブラリはもちろんのこと、コンパイラやデバッガ、make、IDEまで、およそCプログラミングに関わる事項すべてを網羅します。最新のC11に準拠していますが、歴史的背景や古い時代に使われていた文法にも触れています。日語版では可能な限りコード例をESCRコーディング規約に従うように書き直し、高品質なコードを書く上での参考となるようにしました。書はその質、量ともに、C言語リファレンスの決定版です。 日語版まえがき まえがき 第Ⅰ部言語 1章 言語の基 1.1 Cの特徴 1.2 Cプログラムの構造 1.3 ソースファイル 1.4 コメント 1.5 文字集合 1.6 識別子 1.7 Cコンパイラの働き 2章 型 2.1 型分類 2.2 整数型 2.3 浮動小数点型 2.4 複素浮動小数点型 2.5 列挙型 2.6 型vo

    Cクイックリファレンス 第2版
  • C 言語にポインタがある理由は省メモリ化・高速化・開発作業の省力化です - 偏見プログラマの語り!

    前回の記事『プログラム初心者にC言語のポインタを不意ながら教える羽目になったなら、こう教えると良いよ』でポインタの教え方を書きました。ソレに対して「そもそもどうしてポインタっていう仕組みがあるの?」という質問をもらったので、つらつらと書こうと思います。稿は「ポインタがある理由の教え方」ではなく「ポインタがある理由」です。分かっている人には相当に退屈な文章ですのでそういう人は読まずにお帰りください。 で、えーと、結論だけ先に言うと省メモリ化のため、次に速度アップのため、そして生産性アップのためです。 1. メモリは有限である。 マシンに搭載されているメモリには限りがあります。メモリ空間は広大ですが、無限ではないのです。 好き放題にどんどんメモリを使ってデータを格納するわけにはいかないというわけです。しかしプログラムは計算のためにメモリ空間を占有します。仮に↓こんな感じに、わずかな有限メモ

  • プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!

    僕がプログラミングに触れた当時は、プログラミングといえば「まず C 言語」でした。それから 10 年以上が経ちました。学校の授業や企業の研修では未だに C 言語を教えているところがあるようです。関数型プログラミング言語という波が来ている 2012 年にもなって未だに C 言語をやっているというのはまるで進歩が無く残念な気もしますが、比較的多くのプログラマに浸透している共通言語を最初に教えるというのは、一方では喜ばしい事だと解釈する事もできるのかもしれません*1。まぁとにかく、意にせよ不意にせよ現場で プログラム初心者に C 言語を教える羽目になった 人がたくさんいて、プログラム初心者なのに C 言語を学ばざるを得なくなった 若者がたくさんいるということです。 C 言語を教えるときに避けて通れないのがポインタで、プログラム初心者が C 言語を学ぶときにやたらとつまずく人が多いのがポインタ

    プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!
  • ポインタの裏話

    ポインタの裏話 岡﨑 直観 okazaki at ecei.tohoku.ac.jp http://www.chokkan.org/ @chokkanorg ポインタの裏話 プログラミング演習A 1 このような説明を 覚えていますか? 知らなくても全く問題ありません ポインタの裏話 プログラミング演習A 2 int x = 0; &xは変数xの「アドレス」 「番地」「住所」を返す 変数x 0 &x メモリ空間, 記憶空間 変数xのアド レス(住所) ポインタの裏話 プログラミング演習A 3 ____ / \ 何言ってたんだこいつ? / ⌒ ⌒\ 番地 アドレス ぬるぽ / (●) (●) \ \ / | 、“ ゙)(__人__)" ) __________ \ 。` ⌒゚:j´ ,/ j゙~~| | | | __/ \ |__| | | | || / , \n||

  • 「配列へのポインタ」と「ポインタの配列」の見分け方 - めもめも

    はい。どちらでしょう。 int (*hoge)[10] 答えは、配列へのポインタなのですが、(私を含めて・・・)どうしても、ポインタの配列に見えて仕方がない人は、次の手順で構文解析してください。 まず、丸カッコでポインタ記号(*)がhogeに縛り付けられているので、「ポインタ」が最後の述語になります。 「hoge は (punyo) へのポインタ」ーーー (1) その上で、(*hoge) → punyoと置き換えます。 int punyo[10] これはすぐに分かります。 「punyo は int の10要素の配列」ーーー (2) 最後に(2)を(1)に代入します。 「hoge は、int の10要素の配列へのポインタ」 すっきり! ちなみに・・・ hoge の両側にある * と [10] はどちらの方が強く hoge に結びつくのでしょうか? 一般に、識別子(hoge)の右側のものがより

    「配列へのポインタ」と「ポインタの配列」の見分け方 - めもめも
    Itisango
    Itisango 2011/08/09
    「エキスパートCプログラミング」Cの名著です。http://www.amazon.co.jp/dp/4756116396
  • 1