こんにちは
普段は.NETを書いている職業プログラマーなのですが、C言語を勉強している者です。
配列とポインタは異なる物であるという事はわかったのですが、
配列とポインタの使い分けがわかりません。
そこで、私は配列とポインタをスコープの観点で考えてみることにしました。
配列がヒープに確保できないということを前提に考えると、
配列 ----> スタックにしか確保できない。
だから、基本的にはローカル変数(自動変数)にしか使えない。
わざわざfree()しなくていいので、自動変数でスコープ的にOKな時は積極的に使う
ポインタ ---> ヒープに確保されるので、変数の寿命が長い時に使う
free()が必要になるので、ローカル変数では基本的に使わない
技術的に問題になったのが「配列はヒープに確保できるのか?」ということです。
配列はヒープに確保できますか?
ps ------------------------------------
googleで検索するとmallocで確保したメモリ領域の事を、配列って書いている記事が沢山ありました。
mallocで確保されているから厳密にはポインタだと思うのですが、面倒だから配列って呼んでいるだけですよね?
それとも、C言語では単に連続したアドレスであれば、配列って呼んでいるだけなのでしょうか?

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。