teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記への回答

2015/09/25 06:21

投稿

otn
otn

スコア86349

answer CHANGED
@@ -1,4 +1,19 @@
1
1
  studentオブジェクトとは言わず、student型ですね。
2
2
 
3
3
  > タグがついていないものとついているもので書き方が違い戸惑っています。
4
- タグの有無以外は書き方は同じですよ。
4
+ タグの有無以外は書き方は同じですよ。
5
+
6
+ ===========================================================================================
7
+ 追記が出ていたんですね。
8
+
9
+ ・typedefして型名を使って変数宣言する
10
+ ・構造体指定子(structキーワード+タグ名)を使って変数宣言する
11
+ の二者に違いはありません。また、「型名なら書けるが、構造体指定子だと書けない」という箇所も文法的には無いはずです。
12
+ ということで、文法的には文字数が少ないだけと言えるかも知れません。
13
+
14
+ 見た目のわかりやすさとしては、例えばファイルを使うときにファイルポインタの宣言で、
15
+ `FILE *fp;`
16
+ と書くか、
17
+ `struct _IO_FILE *fp;` (Linuxの場合)
18
+ と書くかで、印象がかなり違います。
19
+ `FILE`だと構造体であることが隠蔽されるので、抽象度が増します。