ページ 1 / 1
ポインタを使用する利点
Posted: 2011年1月12日(水) 21:49
by lit
現在C言語を学んでおりポインタの学習に入りました。ここで質問なのですが、ポインタの利点とはなんでしょうか
コード:
int x=10;
int *p;
p=&x;
例えばこのようなプログラムではポインタ変数pには値として10が代入されますよね
しかし、これはA→Cといけるものを、ポインタ変数を用いることでA→B→Cと過程を増やしているような気がして、もやもや(?)します。
プログラムとしては非常に小規模ですし、かなり初歩的な段階なのですが今のうちからその利点を知ることができたら今後スムーズに
学習できるかと思い質問させていただきました。回答していただければと思います
Re: ポインタを使用する利点
Posted: 2011年1月12日(水) 21:52
by みけCAT
やはり動的に配列を確保できること...でしょうか。
Re: ポインタを使用する利点
Posted: 2011年1月12日(水) 22:00
by h2so5
サイズの大きい変数を引数に渡すときなどに、
ポインタで渡せばコピーされないのも利点ですね。
Re: ポインタを使用する利点
Posted: 2011年1月12日(水) 22:16
by lit
回答ありがとうございます。なんとなくですが、ポインタを使用することの利点に触れられたように思います
後はポインタの学習を進めながら理解を深めていこうと思います。どうもありがとうございました
Re: ポインタを使用する利点
Posted: 2011年1月12日(水) 22:27
by softya(ソフト屋)
ポインタのメリットは、操作する対象を可変に出来る事と一種の抽象化が出来ることになります(どちらも高度な概念ですが)。
あと構造体などのコピーよりも高速に動作することでソートや引数渡しが高速に行えます。
動的メモリ確保と絡めたなら、可変長の文字列をメモリ上に動的展開できるのもポインタならではのメリットです。