C 基本講座

sizeof演算子で大きさを調べる

LinkedInラーニングの無料トライアルを今すぐ試そう

無料で視聴する すべての加入プランを見る
このレッスンでは、データ型や変数の大きを返す「sizeof演算子」について説明します。
講師:
04:48

字幕

このレッスンではデータ型や変数の大きさを返すsizeof 演算子について説明します。sizeof 演算子を使うとデータ型の大きさや変数や式の大きさを知ることができます。sizeof 演算子でデータ型の大きさを調べる場合にはこのように sizeof(型名)を記述します。プログラムを使って確認してみましょう。この結果は処理系によって異なりますがWindows 10 で GCC を使ってコンパイル実行した場合にはこのように double 型の大きさは8バイト、long double 型の大きさは16 バイトと出力しています。尚、この int はキャスト演算子といってデータ型を明示的に型変換するための演算子です。この sizeof 演算子では結果を size_t 型という型で返してきます。この size_t は stddif.h やstdio.h ヘッダーファイルの中でコンパイラーが sizeof 演算子が返すのに都合の良い方を宣言しています。つまり処理系によりsizeof 演算子が返す値の範囲が異なる可能性があるのです。ですからこの例ではprintf で %d 変換指定を使っているのでint でキャストしています。 では次に変数と配列の大きさを確認してみましょう。変数や定数などの式の大きさはこのように記述します。この場合、型名と違って括弧で囲む必要はありません。ただ読みやすくするために括弧で囲む場合が多いようです。実行してみましょう。実行すると short 型のs_variable は2バイト、int 型の i_variable は4バイトと結果を表示しています。また int 型の i_array これは要素数が 100 なので4 × 100 で 400そして double 型のd_array はこれは要素数が 10 なので8 × 10 で80 バイトと大きさを示しています。sizeof 演算子を使うと配列の要素数も調べることができます。実行してみます。この2つの式はそれぞれ配列の全体の大きさを要素1個の大きさで割っています。これで i_array の要素数が 100、d_array の要素数が10 であることを知ることができます。定数の大きさも調べることができます。この場合、1は int なので4。1L これは long です、4。1LL これは long long ですね、8。そして 1.0 これは double 型なので8。 1.0F これは float 型なので4バイトになります。最後に文字列リテラルと計算式の大きさも調べてみましょう。実行します。文字列リテラルのコンピューターの文字数は8文字ですが、最後に文字列終了コードのNULL 文字を含みます。そのため、9バイトになっています。int 型の i_variable とdouble 型の 10.2 を加算する場合、一時的に double 型に型変換してから計算されます。そのため、double 型の大きさである8バイトになります。このレッスンではデータ型や変数の大きさを返すsizeof 演算子について説明しました。

C 基本講座

C言語はUNIXというOSを記述するために開発されたプログラミング言語で、組み込みシステムの開発を中心に今も使われています。このコースでは簡単なプログラムを作成しながら、C言語の基本的な文法を学びます。データ型や制御文などの基礎的な文法からポインタや構造体といったC言語の特徴的な内容まで幅広く取り上げます。よく使われる標準ライブラリ関数も数多く紹介します。

5時間45分 (60 ビデオ)
現在、カスタマーレビューはありません…
ソフトウェア・トピック
プラン加入者限定
発売日:2017年11月05日

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

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

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