第2講 変数
第3話 文字列型変数
コードを次のように変更してCtrl+F5をしましょう。
011
//以下C#を始めるためのお呪い
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//以上C#を始めるためのお呪い
namespace a //初心者はお呪い=決まり事と思い一切気にしない
{
  class Program //初心者はお呪い=決まり事と思い一切気にしない
  {
    static void Main(string[] args) //私は社長だ。
    {
      int a; //整数を入れる箱aを用意
      
string b; //文字を入れる箱を用意
      Console.WriteLine("初めてのC#プログラミング体験");
      Console.WriteLine("まず変数から学ぼう!");
      a = 2; //整数を入れる箱に2を入れた。
      Console.WriteLine("a={0:d}", a);
      
b = "私は文字列を入れる変数です。";
      Console.WriteLine("b={0:d}", b);

    }
  }
}
実行画面
012

今回は文字列(複数の文字を文字列といいます)を入れる箱bを用意して、
そこに『私は文字列を入れる変数です。』という文字列を代入して、
中身を表示させました。
007
文字列を代入するときには"と"で挟むことになっています。

ここで重要な注意があります。
013
//以下C#を始めるためのお呪い
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//以上C#を始めるためのお呪い
namespace a //初心者はお呪い=決まり事と思い一切気にしない
{
  class Program //初心者はお呪い=決まり事と思い一切気にしない
  {
    static void Main(string[] args) //私は社長だ。
    {
      Console.WriteLine("初めてのC#プログラミング体験");
      Console.WriteLine("まず変数から学ぼう!");
      
int a; //整数を入れる箱aを用意
      a = 2; //整数を入れる箱に2を入れた。
      Console.WriteLine("a={0:d}", a);
      string b; //文字を入れる箱を用意
      b = "私は文字列を入れる変数です。";
      Console.WriteLine("b={0:d}", b);
    }
  }
}
Ctrl+F5をすると問題なく実行されて、
012
となります。
C言語では、
int main() {
  
int a; //整数を入れる箱aを用意
  string b; //文字列を入れる箱bを用意

  cout << "はじめてのC++プログラミング体験" << endl;
  cout << "まず変数から学ぼう!" << endl;
  a = 2; //整数を入れる箱に2を入れた。
  b = "私は文字列を入れる変数です。";
  cout << "a=" << a << endl;
  cout << "b=" << b << endl;
  return(0); //mainを閉じるときのお呪い。
}
にように、変数の宣言は冒頭でしないとエラーしましたが、
C#では好きな位置で変数の宣言をすることが出来ます。
namespace a //初心者はお呪い=決まり事と思い一切気にしない
{
  class Program //初心者はお呪い=決まり事と思い一切気にしない
  {
    static void Main(string[] args) //私は社長だ。
    {
      
int a; //整数を入れる箱aを用意
      string b; //文字を入れる箱を用意
      Console.WriteLine("初めてのC#プログラミング体験");
      Console.WriteLine("まず変数から学ぼう!");
      a = 2; //整数を入れる箱に2を入れた。
      Console.WriteLine("a={0:d}", a);
      b = "私は文字列を入れる変数です。";
      Console.WriteLine("b={0:d}", b);
    }
  }
}

namespace a //初心者はお呪い=決まり事と思い一切気にしない
{
  class Program //初心者はお呪い=決まり事と思い一切気にしない
  {
    static void Main(string[] args) //私は社長だ。
    {
      Console.WriteLine("初めてのC#プログラミング体験");
      Console.WriteLine("まず変数から学ぼう!");
      int a; //整数を入れる箱aを用意
      a = 2; //整数を入れる箱に2を入れた。
      Console.WriteLine("a={0:d}", a);
      string b; //文字を入れる箱を用意
      b = "私は文字列を入れる変数です。";
      Console.WriteLine("b={0:d}", b);
    }
  }
}
は似たようなもので、
自由な位置で宣言することが出来るようになった意義が、
見えないと思いますが、
実は結構大きな変更点になります。
それは、変数の適用範囲(スコープといいます)がC++の方が柔軟性に富んでおり、
メモリの節約が出来るという点です。

宣言した位置以降が変数のスコープ(適用範囲)になります。
したがって、上図の
がbのスコープということになります。
変数は箱であると説明してきましたが、
正確にいうと、一定のメモリを割り当てそこにデータを書き込んでいます。
ということは、変数適用範囲内でずっとメモリを割り振っていることになります。
すると、上図の青の囲いの中では使いもしないメモリを無駄に割り振っていることになります。
数独(ナンプレ)自動作成アプリを開発したり、
1937桁の完全数を検索するソフトを開発したりするときには、
膨大なメモリを必要とします。
巨大アプリ・ソフト開発では、常にメモリとの戦いになります。
メモリが節約できることは、メモリの上限値を上げ、
演算速度を上げることにつながります。
C#では{}にスコープを限定できるなど、
メモリ節約のための工夫がされています。
この点だけでもC言語<C#といえます。
さらに、オブジェクト指向のクラスを持っているという強みもあります。
クラスについては第2部で取り上げる予定になっていることはすでに述べてありますね。


第2話へ 第4話へ
 
002

初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ