アキヒロの日誌

理系大学院生の戦闘記録

c言語:「変数の寿命」について学んでみた ~c言語学習8日目~

今日はcの絵本での学習をひと通り終えました。

Cの絵本 第2版 C言語が好きになる新しい9つの扉

Cの絵本 第2版 C言語が好きになる新しい9つの扉

 

cの絵本で分からなかった事から、新たな目標とそれを達成するまでの道筋を立てたので簡単にまとめていきます。

まずは、

基本的に「苦しんで覚えるc言語」で学習する
ことを決めました。理由は、この本が痒いところに手が届く自分にとって分かりやすい本だったからです。
苦しんで覚えるC言語

苦しんで覚えるC言語

 
それでも分かりにくいところは、新明解c言語入門編を参考にしたいと思います。

 

それでは目標と道筋をまとめます。
・目標
→道筋
グローバル変数、ローカル変数のイメージを実行させて掴みたい
→「12章変数の寿命」を学習→2018/12/21 17:55完了 なんとなくイメージは掴んだ
・値渡し、参照渡しの違いを明確にしたい
→「12章変数の寿命」を学習してから考える
・構造体についてもう少し詳しく知り実行させてイメージを掴みたい
→「16章複数の方をまとめる」を学習
・ポインタを使ったプログラムを使ってイメージをよりつかみたい
→新明解c言語のポインタの章を学習して練習問題を解いてみる。他の書籍のポインタの説明を見て、よりポインタに対する理解を深める。
・動的メモリ確保とは何か知りたい。静的メモリ確保との違いなど→動的・静的の意味と活用法を知りたい
→「19章 動的配列」を学習
・ヘッダファイルの作り方、ファイルを組み立ててなどを知りたい
→「20章 複数のソースファイル」を学習
・制御文(if,while,for文など)の練習がしたい
→「7,8,9,10章」を学習→新明解c言語に移行してもいいかも
 
 
 
それから今日上記の内容を参考にして学んだことをまとめます。
 

下線部:メモ、大事だと思ったこと、気付き、など

太文字:分からなかったこと

「12章 変数の寿命」を学習
→わかったようなわからないような???
・ローカル変数について
→count関数でローカル変数を含むプログラムを実行
 →関数の中で寿命が終わる変数
 → ローカル変数が有効なのは、宣言された関数の中のみで、main関数内で値を与えても関数に反映されない
 →正確には、ローカル変数の寿命はブロック内で尽きる
 
グローバル変数について
→count関数でグローバル変数を含むプログラムを実行 
  関数外で宣言された変数。
  プログラム全体が終了するまで生き残り続け、 宣言されたソースファイル内の全ての関数から使用出来る。
 →グローバル変数はプログラム全体を通して最後まで生き残り、以前の数値を記憶している。
 →プログラム開始時に自動的に0に初期化される
 → グローバル変数は、関数外で宣言された変数。関数内のローカル変数と違い、どの関数からでも自由に使える。
 
・ローカル変数とグローバル変数
 →グローバル変数と同名のローカル変数では、ローカル変数が優先される。→???
 
・静的なローカル変数
 関数の中で静的な変数(ローカル変数)を宣言すると、グローバル変数のように数値を記憶をする。
 しかし、どの関数からでも使用できるわけではない
 →イマイチ使いみちが分からない
 
これからは少し意識してプログラムを書いてみる。
 
 
以上です。