構造体(こうぞうたい、英: structure)はプログラミング言語におけるデータ型の一つで、1つもしくは複数の値をまとめて格納できる型。それぞれのメンバー(フィールド)に名前が付いている点、またメンバーの型が異なっていてもよい点が配列と異なる。レコードという名前の類似機能として実装されている言語もある。 C/C++やC#などでstructとしてサポートされているほか、Visual Basic/VBAのユーザー定義型Typeや、PascalやAdaのrecord型も構造体に相当する。 クラスベースのオブジェクト指向言語では、抽象データ型としてのクラスが構造体の役割をも内包する。Cの文法を継承した言語ではstructキーワードを含むこともあるが、言語によってその役割や性質は異なる。 オブジェクト指向言語でないCなどでオブジェクト指向プログラミングを模倣するために構造体を使うこともある。

Property Value
dbo:abstract
  • 構造体(こうぞうたい、英: structure)はプログラミング言語におけるデータ型の一つで、1つもしくは複数の値をまとめて格納できる型。それぞれのメンバー(フィールド)に名前が付いている点、またメンバーの型が異なっていてもよい点が配列と異なる。レコードという名前の類似機能として実装されている言語もある。 C/C++やC#などでstructとしてサポートされているほか、Visual Basic/VBAのユーザー定義型Typeや、PascalやAdaのrecord型も構造体に相当する。 クラスベースのオブジェクト指向言語では、抽象データ型としてのクラスが構造体の役割をも内包する。Cの文法を継承した言語ではstructキーワードを含むこともあるが、言語によってその役割や性質は異なる。 * C++のstructは、アクセシビリティの初期値がpublicであることを除いて、classと同等の機能を果たす。メンバー変数だけでなくメンバー関数を持つこともでき、派生型を定義することもできる。 * Javaでは、structキーワードは存在しない。すべてのユーザー定義型は参照型であり、構造体に相当するデータ構造はclassキーワードを使ってクラスとして実現する必要がある。Java 16ではイミュータブルな「レコードクラス」をサポートする。 * Kotlinでは、データを保持するためだけのクラスとして、data class構文により「データクラス」を定義することができる。データクラスはミュータブルだが、通常のクラス同様に参照型であることには変わりなく、変数の代入は参照のみのコピーとなる。そのため、すべてのプロパティをコピーした新たなオブジェクトを生成するには、コンパイラの推論によって暗黙的に自動定義されたcopy関数を使うなどする。サブクラスを定義することはできない。 * C#では、構造体の定義にstructキーワードを使用する。classキーワードにより定義されるクラスは「参照型」である一方、構造体は軽量なオブジェクト型を定義するための「値型」であり、クラスと比較していくつかの制約がある。 * VB.NETでは、構造体の定義にStructureキーワードを使用する。姉妹言語であるC#の構造体と類似の機能である。 * Swiftでは、構造体の定義にstructキーワードを使用する。C#と同様、classキーワードにより定義されるクラスは参照型である一方、構造体は値型である。SwiftのクラスはObjective-Cのクラスに対応する概念であり相互運用できるが、構造体は相互運用することができない。 オブジェクト指向言語でないCなどでオブジェクト指向プログラミングを模倣するために構造体を使うこともある。 (ja)
  • 構造体(こうぞうたい、英: structure)はプログラミング言語におけるデータ型の一つで、1つもしくは複数の値をまとめて格納できる型。それぞれのメンバー(フィールド)に名前が付いている点、またメンバーの型が異なっていてもよい点が配列と異なる。レコードという名前の類似機能として実装されている言語もある。 C/C++やC#などでstructとしてサポートされているほか、Visual Basic/VBAのユーザー定義型Typeや、PascalやAdaのrecord型も構造体に相当する。 クラスベースのオブジェクト指向言語では、抽象データ型としてのクラスが構造体の役割をも内包する。Cの文法を継承した言語ではstructキーワードを含むこともあるが、言語によってその役割や性質は異なる。 * C++のstructは、アクセシビリティの初期値がpublicであることを除いて、classと同等の機能を果たす。メンバー変数だけでなくメンバー関数を持つこともでき、派生型を定義することもできる。 * Javaでは、structキーワードは存在しない。すべてのユーザー定義型は参照型であり、構造体に相当するデータ構造はclassキーワードを使ってクラスとして実現する必要がある。Java 16ではイミュータブルな「レコードクラス」をサポートする。 * Kotlinでは、データを保持するためだけのクラスとして、data class構文により「データクラス」を定義することができる。データクラスはミュータブルだが、通常のクラス同様に参照型であることには変わりなく、変数の代入は参照のみのコピーとなる。そのため、すべてのプロパティをコピーした新たなオブジェクトを生成するには、コンパイラの推論によって暗黙的に自動定義されたcopy関数を使うなどする。サブクラスを定義することはできない。 * C#では、構造体の定義にstructキーワードを使用する。classキーワードにより定義されるクラスは「参照型」である一方、構造体は軽量なオブジェクト型を定義するための「値型」であり、クラスと比較していくつかの制約がある。 * VB.NETでは、構造体の定義にStructureキーワードを使用する。姉妹言語であるC#の構造体と類似の機能である。 * Swiftでは、構造体の定義にstructキーワードを使用する。C#と同様、classキーワードにより定義されるクラスは参照型である一方、構造体は値型である。SwiftのクラスはObjective-Cのクラスに対応する概念であり相互運用できるが、構造体は相互運用することができない。 オブジェクト指向言語でないCなどでオブジェクト指向プログラミングを模倣するために構造体を使うこともある。 (ja)
dbo:wikiPageID
  • 43355 (xsd:integer)
dbo:wikiPageInterLanguageLink
dbo:wikiPageLength
  • 10683 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 92246167 (xsd:integer)
dbo:wikiPageWikiLink
prop-ja:wikiPageUsesTemplate
dct:subject
rdfs:comment
  • 構造体(こうぞうたい、英: structure)はプログラミング言語におけるデータ型の一つで、1つもしくは複数の値をまとめて格納できる型。それぞれのメンバー(フィールド)に名前が付いている点、またメンバーの型が異なっていてもよい点が配列と異なる。レコードという名前の類似機能として実装されている言語もある。 C/C++やC#などでstructとしてサポートされているほか、Visual Basic/VBAのユーザー定義型Typeや、PascalやAdaのrecord型も構造体に相当する。 クラスベースのオブジェクト指向言語では、抽象データ型としてのクラスが構造体の役割をも内包する。Cの文法を継承した言語ではstructキーワードを含むこともあるが、言語によってその役割や性質は異なる。 オブジェクト指向言語でないCなどでオブジェクト指向プログラミングを模倣するために構造体を使うこともある。 (ja)
  • 構造体(こうぞうたい、英: structure)はプログラミング言語におけるデータ型の一つで、1つもしくは複数の値をまとめて格納できる型。それぞれのメンバー(フィールド)に名前が付いている点、またメンバーの型が異なっていてもよい点が配列と異なる。レコードという名前の類似機能として実装されている言語もある。 C/C++やC#などでstructとしてサポートされているほか、Visual Basic/VBAのユーザー定義型Typeや、PascalやAdaのrecord型も構造体に相当する。 クラスベースのオブジェクト指向言語では、抽象データ型としてのクラスが構造体の役割をも内包する。Cの文法を継承した言語ではstructキーワードを含むこともあるが、言語によってその役割や性質は異なる。 オブジェクト指向言語でないCなどでオブジェクト指向プログラミングを模倣するために構造体を使うこともある。 (ja)
rdfs:label
  • 構造体 (ja)
  • 構造体 (ja)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is owl:sameAs of
is foaf:primaryTopic of