C 基本講座

構造体の基本を理解する

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

無料で視聴する すべての加入プランを見る
このレッスンでは、構造体の宣言と基本的な使い方について説明します。
講師:
07:13

字幕

このレッスンでは、構造体の宣言と基本的な使い方について説明します。複数のデータをまとめて扱うには配列を用いましたが配列では同じ型のデータしかまとめて扱うことはできません。けれども、実際にプログラムを組んでいると異なる型のデータをまとめて扱いたい場合がよくあります。例えば、学生の成績を扱う時にint 型の学生番号とchar 型の配列の氏名とdouble 型の平均点を分けて管理するよりそれらをまとめて管理した方がずっと楽に分かりやすく扱うことができます。構造体はいくつかの異なる型のデータをまとめて1つのデータ型として扱うものです。変数が既製の型紙から作った形の決まった箱だとしたら構造体はユーザー自身のオリジナルの型紙から作った自由な形の物入れだと言えましょう。struct は構造体を宣言するためのキーワードです。構造体の宣言には実体のない構造体の型枠を作る宣言と実体である構造体のオブジェクトを作る宣言の2種類があります。例えば番号、氏名、平均点ならなるstudent という名前の構造体の型枠を宣言するにはstruct から始めてこのように記述します。この student を構造体タグ名と呼びます。 そして { } の中にデータ型と変数名や配列名を記述します。これらをメンバと呼びます。型枠を宣言しただけではメモリ上に実体はありません。実体を作るには struct から始めて型枠を宣言した構造体のタグ名と変数名や配列名を記述します。この例では seito1 という名前の構造体の変数とseito2 という名前の構造体の配列を宣言しています。このように、変数や配列を宣言することによりメモリ上に構造体の実体が確保されます。では実際にプログラムで構造体の使い方について確認しましょう。構造体を使用するにはまず構造体の型枠を宣言します。構造体の型枠の宣言は基本的にこのような構文で記述します。struct の次に構造体のタグ名を記述します。そして { } の中のブロックにメンバのデータ型とメンバ名を書きます。メンバには変数や配列、既に宣言されている構造体、それらを指すポインタを書くことができます。但し、可変長配列とそれを指すポインタは書くことができません。例えばこのように書きます。これでタグ名 student の構造体の型枠が宣言されました。メンバには int 型の変数 nochar 型の配列 namedouble 型の変数 average が宣言されています。 この型枠を宣言しただけではメモリ上に実体はありません。この型枠を使って構造体の変数や配列を宣言してはじめて構造体がメモリ上に確保されます。次に、型枠を使って構造体の変数や配列を宣言します。構造体の変数の宣言はこのような構文で行います。struct を書きそして構造体タグ名を書き変数名を書きます。この構造体タグ名は既に宣言されているものを使ってください。このように記述すると型枠の student を使ってseito1 という名前で構造体の変数が宣言されました。構造体の変数は初期化もできます。このように記述すると構造体の変数が初期化されます。構造体を格納する値を { } の中に順にカンマで区切りながら記述します。記述した順に、先頭からこの構造体に格納されていきます。構造体の配列も宣言して初期化してみましょう。配列ですから [ ] の中に要素数を記述します。この例のように初期化している場合には要素数の省略が可能です。初期化子は二重に { } で囲みカンマで区切りながら順番にメンバを記述してください。これらの宣言によりメモリ上には図のような構造体のオブジェクトが確保されています。こちらが seito1 です。 そして構造体の配列の方は上から順番に0番目、1番目、2番目とメモリ上に確保されます。構造体の各メンバはアクセスするにはこのように記述します。変数名とメンバ名をドット演算子と呼ばれるドットで繋いで記述します。このように構造体の変数名とメンバ名をドットで区切りながら記述して、printf を使って、この内容を表示することができます。構造体の配列のメンバにアクセスするにはこの [ ] の中に添字を書きその後ろにドット演算子を記述してからメンバ名を記述します。これで、この構造体の配列の各メンバを表示することができます。では、実行してみましょう。このように値が表示されていることが確認できます。このレッスンでは、構造体の宣言と基本的な使い方について説明しました。

C 基本講座

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

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

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

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

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