回答編集履歴
1
C++の例を追加
answer
CHANGED
@@ -2,4 +2,25 @@
|
|
2
2
|
|
3
3
|
Cの構造体は単純にデータ構造だけを定義できます。デフォルトの初期値を定義したり、初期化時の処理を書いたりすることはできません。
|
4
4
|
|
5
|
-
なお、C++ですと構造体はクラスに進化(C++ではstructとclassはデフォルトのアクセス範囲以外は全く同じです)していますので、デフォルト初期値や初期化時の処理が追加可能です。
|
5
|
+
なお、C++ですと構造体はクラスに進化(C++ではstructとclassはデフォルトのアクセス範囲以外は全く同じです)していますので、デフォルト初期値や初期化時の処理が追加可能です。
|
6
|
+
|
7
|
+
---
|
8
|
+
|
9
|
+
【参考】C++での例(Cではコンパイル出来ません)
|
10
|
+
|
11
|
+
```C++
|
12
|
+
#include <cstdio>
|
13
|
+
|
14
|
+
struct Hand{
|
15
|
+
char hand[9];
|
16
|
+
int num;
|
17
|
+
char gcp[3][9] = {"rock","scissors","paper"};
|
18
|
+
};
|
19
|
+
|
20
|
+
int main()
|
21
|
+
{
|
22
|
+
auto hand = new Hand("janken", 3);
|
23
|
+
std::printf("%s\n", hand->gcp[0]);
|
24
|
+
return 0;
|
25
|
+
}
|
26
|
+
```
|