タグ

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

  • 関連タグはありません

タグの絞り込みを解除

C言語に関するwebarata3のブックマーク (1)

  • 汎用ポインタを使う

    int型のポインタとchar型のポインタは違う型のため、同じものとして扱うことは出来ません。 ですが、実際にはポインタ型はメモリ上の特定アドレスを示すもののため、 どの型のポインタであっても、データ自体はメモリ上のアドレスを示す何bitかの数値であり、全く同じです。 (勿論、ポインタの示すアドレスに何があるかは異なります) そのため、ポインタ専用の変数を利用することで、あらゆる型のポインタを同じ変数に代入することができます。 ただし、コンパイラの型チェックが効かなくなる等の理由から、基的にはオススメできない手法です。 C++の場合はテンプレートやクラスの継承、dynamic_castで解決できる場合はそちらを利用した方が安全です。 汎用ポインタ void *型は汎用ポインタと呼ばれ、あらゆるポインタを代入することができます。 これはたとえば以下のように、何の型かは指定しないけど、変数とし

    webarata3
    webarata3 2017/04/18
    void *
  • 1