diff paper/type.tex @ 91:54cf3b3153fe

Update
author atton <atton@cr.ie.u-ryukyu.ac.jp>
date Thu, 09 Feb 2017 18:37:26 +0900
parents 2be864ed3a79
children 2bc816f4af27
line wrap: on
line diff
--- a/paper/type.tex	Thu Feb 09 18:30:02 2017 +0900
+++ b/paper/type.tex	Thu Feb 09 18:37:26 2017 +0900
@@ -89,11 +89,14 @@
 ここでレコード型という型を導入する。
 レコード型は複数の型を持ちえる型であり、内部に持っている値にはユニークな名前がラベルとして付いている。
 例えば「Intの変数x とIntの変数yを持つレコード型」は$ \{ x : Int , y : Bool\}$のように記述する。
-C における構造体ではリストに対応する。
-% TODO C の構造体
+C における構造体ではリスト~\ref{src:struct}にのソースコードに対応する。
+
+\lstinputlisting[label=src:struct, caption=C におけるレコード型である構造体の定義] {src/struct.c}
 
 レコード型の値を構成する際には、内部に格納する値を全て与えることで構成できる。
-% TODO C の構造体の初期化
+C 言語ならばフィールドの値を \verb/{}/ 内部に \verb/,/ 区切りで与えることで構造体を構成できる(リスト~\ref{src:struct-init})。
+\lstinputlisting[label=src:struct-init, caption=C 言語の構造体の初期化] {src/struct-init.c}
+
 レコード型から値を取り出す際にはラベル名を用いた射影を利用する。
 C 言語では構造体の後に \verb/./ キーワードを付けた後にラベル名を指定する。