タグ

cとpointerに関するnabinnoのブックマーク (10)

  • 関数へのポインタ - Wikipedia

    関数へのポインタ (かんすうへのポインタ、英: pointer to function) あるいは関数ポインタ (かんすうポインタ、英: function pointer) は、C言語, C++, D言語やその他多くのプログラミング言語におけるポインタの一種である。関数へのポインタをデリファレンス (dereference) すれば、そのポインタが指し示す関数(サブルーチン)を呼び出せる。応用例としては、switch文を置き換えるテーブルジャンプを実装する、コールバック関数によるカスタマイズポイントを提供する、などといったものがある。 関数オブジェクト (英: function object) は、関数へのポインタに似ているが、コード領域中のエントリポイントを指す単なるポインタである関数へのポインタと違い、データ領域上に実体を持つオブジェクトであるという点が異なっている(実装の詳細は言語や

  • 間接参照 - Wikipedia

    間接参照(かんせつさんしょう、英: indirectionもしくは英: indirection reference)とは、コンピュータのプログラミング、特にプログラミング言語において、ある値 (value) を、値そのものによってではなく、名前 (name) や参照 (reference) などにより間接的に指し示すこと、およびその参照自身のことや、それを参照して操作することである。 英語の direct は「指示する」「直接の」という意味があり、indirect は「間接的な」という意味がある。また、indirection は「遠回り」「回り道」という意味がある。通例「参照」という日語は英語の reference に対応するが、プログラミングの用語および規格の文脈では indirection の一語だけでも「間接参照」を意味する。また、デリファレンス(dereference)とは、参照

  • プログラミング言語C ANSI規格準拠

    プログラミング言語C ANSI規格準拠
  • C言語/ポインタ - Wikibooks

    ポインタの基[編集] アドレス[編集] オブジェクトはメモリー上に領域が確保され、値が格納されます[1]。 メモリーをバイト単位の一次元配列と考えた場合、その配列の添え字がアドレスです。 バイト単位の一次元配列であることを強調するため、バイトアドレスとも呼ばれます。 1バイトは最小でも8ビットで、そのビット数はlimit.hのマクロCHAR_BITで定義されています[2]、10進数で256(28)通りの値を格納できます。256通り以上の値を格納するに連続した複数のバイトを一塊として使用します。 オブジェクトのアドレスを取得するには、オブジェクト名の前に&演算子(アドレス演算子)を付けます。 アドレス演算子

  • ポインタ (プログラミング) - Wikipedia

    ポインタあるいはポインター(pointer)は、 コンピュータで処理するデータやプログラムの場所を記憶して指示するレジスタや変数の分類や呼称。 [1] [2] [3] [4] 概要[編集] コンピュータは処理対象のデータと処理内容であるプログラムとを、一定の規則で記憶装置に並べて処理を行う。 記憶装置の特定の場所を指示すため、(現在のコンピュータの多くは)連続した整数のアドレス(Address)、番地を1バイト単位で割当てている。またプロセッサの内部にもレジスタと呼ばれる記憶場所を、数個から数10個程度配置している。レジスタや記憶装置の中身は全て有限桁ビット列のデジタル数値であるが、特にアドレス指定のための数値を記憶するレジスタや、記憶装置での特定アドレス(==高級言語での特定変数)を、ポインタと呼んで区別している。 [1] [2] [3] [4] 命令セットでのポインタ[編集] プログラ

  • Interacting with C Pointers - Swift Blog

    Swift is now open source. For the latest news, visit the Swift open source blog Objective-C and C APIs often require the use of pointers. Data types in Swift are designed to feel natural when working with pointer-based Cocoa APIs, and Swift automatically handles several of the most common use cases for pointers as arguments. In this post we’ll look at how pointer parameters in C can be used with t

    Interacting with C Pointers - Swift Blog
  • C 言語にポインタがある理由は省メモリ化・高速化・開発作業の省力化です - 偏見プログラマの語り!

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

  • 世界で2番目にわかりやすいポインタの話

    これ以上に解りやすく説明できるという人は、@super_rti までURLを教えて下さい。世界一わかりやすいの看板を差し上げます。

    世界で2番目にわかりやすいポインタの話
  • プログラム初心者に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||

  • 1