Objective-C 基本講座

変数・数字リテラルを使う

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
変数に数値を記憶させ、printf関数でコンソール画面に記憶した数値を表示させます。
講師:
09:19

字幕

このレッスンでは変数を利用する 方法を学習して下さい printf は引数を受け取って その引数をコンソールに出力する 処理を行う関数です 戻り値を返すようにもなっていて 整数でコンソールにメモリ何バイト分の 文字列を出力したかを返します この戻された値を記憶して利用してみましょう その為にはメモリ上に記憶区画を 確保する必要があるわけですが OS の管理下では勝手に番地を使って 確保することは許されません 正式に OS に記憶区画を要求するか アプリ起動時に OS から割り振られた 記憶区画を利用します アプリ起動時に割り振られた記憶区画は 下から積み重なるように 区画を確保する仕組みになっていて 呼び出された関数の中で 区画が要求されるたび積み重なり 関数が呼び戻し毎に 戻る時に 自動的に取り省かれます その振る舞いからスタックという 呼び名がついています スタックに記憶区画を確保するには マシンコードではそれなりの命令が必要ですが Objective-C なら次のように記述するだけで 確保が完了します これで1つの処理なので 最後にセミコロンをつけています 2つの単語で構成されるこの命令は 左側の単語が区画の種類を意味します 右側の単語は確保された区画を 特定する為の名前です 区画は番地でも特定できますが それをそのまま使ったのでは プログラミング言語を使う意味がありません Objective-C では記憶区画を 数式で言うところの変数で抽象化します ここでは length と名づけた 整数用変数を1つ用意しています この処理を変数宣言と言います この変数は関数から戻るまで有効で 戻る時に自動的に片付けられます 変数名は自由に決めて構いません 半角英数字とアンダースコアが利用できますが 先頭1文字目に数字を使うことは 禁止されています 区画の種類は確保した区画を どのように使うかをコンパイラに知らせます Objective-C では これを変数の型と呼びます ここでは int という型を 変数 length の型として指定しています int 型は4バイトを使って1つの整数値を 記憶させることをコンパイラに伝えます int の他に int8_t や int16_t unsigned int など様々な型があります int8_t は1バイトです その為 0 から 255 の範囲の 値しか記憶できません また記憶する数値の範囲を 負の領域にずらしてもいるので -128 から 127 となってしまいます 負の数値を扱わないなら手前に unsigned をつけることで 0 から正の方向即ち 0 から255 の 形で記憶するようになります 変数の型とはこのような記憶した値の 取り扱いを決めるものです 最初に指定した int 型は4バイトなので 8ビット4つ分 32 ビットの記憶装置が使え 約-20 億から+20 億の範囲の 値を記憶できます 用意した変数に値を記憶させるには 変数名と記憶させたい値を等号で結びます 変数への値の記憶も1つの命令なので やはりセミコロンが必要です 等号記号の使い方が数学と異なる 点には気をつけて下さい Objective-C の場合 等号は左辺と右辺が 等価であることを意味するわけではなく 記憶区画への値の記憶を意味します これを変数への値の代入と呼びます ここで値の部分に1と書けば 変数 length は1を記憶します このようにソースコード中に現れる 直接の数字を数字リテラルと言います 数字リテラルの代わりに 関数呼び出し処理を書けば 関数からの戻り値が length に 代入されることになります printf 関数呼び出し処理を ここに書けば printf から戻された値が length に 代入されることになるわけです また変数を宣言するところで 代入することもできますから 宣言と同時に値を設定するのが良いでしょう スタック上に用意される記憶区画は 使いまわしている関係上 宣言した時点ではどんな値を 記憶しているか不定です そのまま利用して 間違った処理を行わないように 宣言と同時に値を代入する 癖をつけておきましょう ここまでできたら変数 length が受け取った printf の戻り値を確認してみます 変数 length に記憶された値を printf で コンソールに出力させてみます printf 関数はメモリ上に記憶させた数値を 人間が読める数字として 出力できるようにもなっています この場合 printf には引数を2つ 渡す必要があります 最初に渡す引数が 数値をどのように 出力するかを指定するための文字列で その次の引数が数値です 引数と引数の間はカンマで区切ります printf では第一引数の文字列が コンソールに出力されるわけですが その文字列中に % があると それに続く1文字と合わせた部分が 次に続く引数の値に差し替わって 出力されるようになっています 差し替えられる引数の値を どういう形式で出力するか 指定しているのが % の後の1文字です d の場合 数値を日常使っている 十進法で出力する指定となります d の他にも色々な指定があり 文字列中に複数書いても構いませんが その場合書いた数だけ引数を 追加する必要があります また指定した出力形式に合った 引数値でなければいけません このように printf では最初に渡す 文字列引数中の % は 特別な意味を持つ点を覚えておいてください % 自体を出力したい時は % を重ねます この場合引数の追加はありません では実際にやってみましょう Xcode の画面に切り替えます 最初が Hello その後に 「こんにちは」を表示させ それぞれのバイト数を 表示するようにしています length を使い回している点にも 注目して下さい 変数は代入するたびに 新しい値を記憶し 直します ランしてみましょう コンソールには Hello と こんにちは それぞれのバイト数が表示されます 「こんにちは」の値が文字数の 5でないことにも注意してください 日本語文字コードの メモリ上のバイト数なので このようになります printf はコンソールに任意の文字と 変数の値を出力させるのに便利な関数です 便利ですが このように渡す引数の数が 自由に変更できるものは 少し特殊な関数です 定義方法も用意されていますが 本レッスンではそこまでは踏み込みません 通常の関数は引数の数や 引数の型は固定となります このレッスンでは変数を利用する 方法を学習しました

Objective-C 基本講座

このコースはプログラミング初心者でもObjective-CによるiOSアプリ開発の体系的な理解が得られるように構成されています。プログラムの動作の原理、Objective-C言語の役割、そこで利用されるCocoa touchオブジェクトの役割、基本的なiOSアプリの作成方法などを学習します。ぜひこのコースをアプリ開発に踏み出すさいの第一歩としてください!

6時間39分 (69 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2015年11月18日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。