ぷろぐらみんぐ!

プログラマーを目指して勉強する大学生のブログ

プログラミングの勉強が捗る簡単な方法

こんにちは!

 

最近プログラミングの勉強をしていて、Visual Studioが重たいと感じるようになってきました。

軽くする方法について調べていたのですが、どれもいまいち。

そこでUbuntuを入れてみることにしました。

 

実は以前、訳あってUbuntuを使っていたことがありました。

その頃にも少しプログラミングの勉強をしていたのですが、その時は快適に勉強できていた気がする!

ということで、UbuntuとWindows10のデュアルブート?をしてみました。

 

勢いで入れてみたのですが、案外うまく行ったのでこれからはプログラミングの勉強はUbuntuで、ゲームをする時はWindows10を使っていきたいと思います。

勉強用とゲーム用とで分けると、すごく集中出来るようになります!

 

テキストエディタatomでプログラムを書いて、gccを使ってコンパイル、実行をして行きたいと思います。

 

f:id:fujigg7:20170318082601p:plain

 

atomはおしゃれかつ便利でいいですよね。

テーマは公式のOne Darkがお気に入りです。

勉強中に気が散らないようにブラウザも普段使っているgoogle chromeではなく、Vivaldiを使うことにしました。

これからも頑張っていきます!

 

それでは。

配列、特にサイズと要素数 C#9

こんにちは!

やっぱり3月は忙しい時期ですね。

新生活の準備や卒業式などやることがたくさんあります。

大変ですが頑張っていきましょう。

 

今日は複数の変数をまとめて扱うというところから始めていきます。

 

 

配列

  • 複数の変数をまとめて宣言する時は配列を使う。
  • 配列は次のようにして宣言、初期化する。

f:id:fujigg7:20170303223032p:plain

  • 配列名とは配列全体の名前のこと。
  • 素数とは作られる変数の数のこと。整数値のみ指定できる。
  • 素数よりも数値の個数が少ない場合、残りには0が代入される。
  • 素数は省略できる。省略した場合は数値の個数分だけ要素数が確保される。
  • 配列名に番号を付けるには下のようにする。

f:id:fujigg7:20170303222716p:plain

  • 番号は0から始まる。
  • 配列のすべての要素を表示するにはfor文が便利。
  • 変数や配列のサイズを求めるにはsizeof演算子を使う。
  • sizeof演算子は下のようにして使う。

f:id:fujigg7:20170303231941p:plain

  • sizeof演算子を使って配列の要素数を求めるには下のようにする。

f:id:fujigg7:20170303225606p:plain

  • 配列の要素を別の配列にコピーするにはmemcpy関数を使う。
  • memcpy関数は下のようにして使う。

f:id:fujigg7:20170303233505p:plain

 

新しく配列というものが出てきました。

sizeof演算子のところで、サイズと素数の違いが分からず少し躓いてしまいました。

ですのでsizeof演算子について調べ、まとめてみました。

 

素数とサイズ

素数とサイズというものはまったく別のものです。

サイズというのはメモリサイズの略みたいです。

メモリについてはまだ勉強していないのでサイズと表記したのだと思います。

 

これから要素数を求めていきます。

素数を求めるには、下のような式が必要です。

f:id:fujigg7:20170304000831p:plain

「配列array全体のサイズ / 配列arrayの要素1つ分のサイズ」という式になっています。

まず、個々の式を求めていきます。

配列のサイズは、「型のサイズ * 要素の個数」で求めることができます。

今はint型で、int型のサイズは4バイトです。

配列arrayはint型の配列で、3つの要素を持っています。

この時、配列array全体のサイズは、4 * 3 = 12、

今は要素の数が知りたいので、int型のサイズをなくす必要があります。

なので、配列の1つ分の要素で全体を割ります。

配列array[0]のサイズは、4 * 1 = 4 となります。

こうすると要素の数が求まるというわけです。

 

 

たぶんこんな感じだと思います。

サイズは容量ということでいいのでしょうか。

もし間違っていたらコメントなどで指摘していただけると助かります。

 

ここまで来たら練習問題です。 

f:id:fujigg7:20170304011312p:plain

逆順で表示するというところで少し考えましたが、解答見ずにできたのでよかったです。

簡単なことですが、考えて答えを出すのは楽しいですね。

長くなってきたので今日はここまでにしたいと思います。

 

それでは。

C言語で出てくる3種類の変数 C#8

こんにちは!

 

最近気づいたら1日中YouTubeを見てることがよくあります。

YouTubeは気を付けないと時間泥棒になりますね。

 

さて、今回はローカル変数の寿命というところからやっていこうと思います。

 

 ローカル変数とグローバル変数

  • ブロック内で宣言された変数はローカル変数といい、そのブロック内でしか使えない。
  • { }で囲まれた文をブロック文という。(if文の使い方 #5 - ぷろぐらみんぐ!参照)
  • 関数内でも { } を使うことによってブロックを作ることができる。
  • 変数が使える範囲と、その変数の寿命を決定する仕組みをスコープという。
  • 関数外で宣言された変数をグローバル変数という。
  • グローバル変数はプログラム内のすべての関数で使用することができる。
  • グローバル変数はプログラム開始時に自動で初期化される。
  • グローバル変数とローカル変数が同名の時はローカル変数が優先される。
  • 関数内で変数を宣言するときに、型名の前にstaticを付けると静的なローカル変数を宣言することができる。
  • 静的なローカル変数とは、宣言された関数内でのみ使えて、プログラムが終了するまで残る変数のことである。

 

話がややこしくなってきました。

これは文章を読むよりプログラムを見たほうが理解しやすいと思います。

 

f:id:fujigg7:20170222194807p:plain

 

一通り理解出来たら練習問題です。

 

今回の練習問題は難易度易しめですね。

一応全問正解できました。

 

今回はここまでにしたいと思います。

本当はもっと進みたいんですけど時間がない。。。

YouTubeもほどほどにしないと。。。

 

それでは。