Programming and Data Types | ![]() ![]() |
構造体配列を使った関数sizeの使用
構造体配列、または、任意の構造体フィールドのサイズを得るために、関数size
を使ってください。引数として構造体配列名を与えると、size
は配列の次元のベクトルを出力します。array(n).field
の形式で引数を与えると、size
関数は、フィールドの内容のサイズを含むベクトルを出力します。
たとえば、1行3列の構造体配列patient
に対して、size(patient)
はベクトル[1
3]
を出力します。ステートメントsize(patient(1,2).name)
は、patient
の要素(1,2)
に対するname
文字列の長さを出力します。
構造体にフィールドを追加する
単一の構造体にフィールドを加えることにより、ある配列内のすべての構造体にフィールドを追加することができます。たとえば、patient
配列に社会保険番号フィールドを追加するためには、つぎのような代入を使います。
patient(2).ssn = '000-00-0000';
patient(2).ssn
は、代入された値をもちます。配列内の他のすべての構造体は、ssn
フィールドをもちますが、値を明示的に代入しなければ、これらのフィールドは空行列を含みます。
構造体からフィールドを削除する
関数 rmfield
を使って構造体配列内の各構造体から引数で与えたフィールドを削除できます。もっとも基本的な型は
struc2
= rmfield(array,'field')
で、array
は構造体配列で、'field'
は、そこから削除するフィールド名です。たとえば、patient
配列からname
フィールドを削除するためには、つぎのように入力します。
patient = rmfield(patient,'name');
![]() |
構造体配列内のデータのアクセス | 関数と演算子の適用 | ![]() |