1)在c中定義乙個結構體型別要用typedef:
typedef struct student
stu;
於是在宣告變數的時候就可:stu stu1;(
如果沒有typedef就必須用struct student stu1;來宣告)
這裡的stu實際上就是struct student的別名。stu==struct student
另外這裡也可以不寫student(於是也不能struct student stu1;了,必須是stu stu1;)
typedef struct
stu;
2)但在c++裡很簡單,直接
struct student
;
於是就定義了結構體型別student,宣告變數時直接student stu2;
在c++中如果用typedef的話,又會造成區別:
struct student
stu1;//stu1是乙個變數
typedef struct student2
stu2;//stu2是乙個結構體型別=struct student
使用時可以直接訪問stu1.a
但是stu2則必須先 stu2 s2;
然後 s2.a=10;
typedef struct tagmystruct
mystruct;
在c中,這個申明後申請結構變數的方法有兩種:
(1)struct tagmystruct 變數名
(2)mystruct 變數名
在c++中可以有
(1)struct tagmystruct 變數名
(2)mystruct 變數名
(3)tagmystruct 變數名
struct和typedef struct的區別
1.基本解釋 typedef為c語言的關鍵字,作用是為一種資料型別定義乙個新名字。這裡的資料型別包括內部資料型別 int,char等 和自定義的資料型別 struct等 在程式設計中使用typedef目的一般有兩個,乙個是給變數乙個易記且意義明確的新名字,另乙個是簡化一些比較複雜的型別宣告。至於ty...
struct和typedef struct的區別
在c中定義乙個結構體型別要用typedef typedef struct student stu 於是在宣告變數的時候就可以 stu stu1 如果沒有typedef就必須用struct student stu1 來宣告 這裡的stu實際上就是struct student的別名。stu struct...
struct和typedef struct的區別
1 structtest1 好,定義了 結構 test1,test1.x 和 test1.y 可以在語句裡用了。2 struct test test1 好,定義了 結構 test1,test1.x 和 test1.y 可以在語句裡用了。與 1 比,省寫 了 test 3 typedef struct...