结构体定义容易混淆的地方
生活随笔
收集整理的這篇文章主要介紹了
结构体定义容易混淆的地方
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一種:
struct Student
{
?? ...
?? ...
};???? Student為結構體名,相當于一種數據類型。可以和int、char等一樣的用法。
?? ? a. ? 這種形式用在C語言中,要聲明該結構體類型的對象,應該寫為struct Student? stud1;
???? b. ? 這種形式用在C++語言中,要聲明其對象,直接寫Student? stud1;
第二種:
typedef struct Student
{?? ...
?? ...
}Stu;??? //Stu是一種數據類型
等同于:
typedef struct
?? ...
?? ...
?????? Stu是名為Student的結構體這一數據類型的別名,c/c++中聲明該類型的變量時都為Stu stud1;
?????? 可以看出,第二種方式在c++語言中并沒有多大意義,兩種方式定義的結構體在聲明對象時并無繁簡區分,但在c中卻是簡化了結構體類型的變量的聲明,不用每次都寫關鍵字struct。
另外區別于第二種方式有如下寫法容易混淆:
struct Student
{
?? ...
?? ...
}stu1;?? //stu1是一個變量
?????? 這種方式在定義結構體的同時聲明了該結構體類型的變量。
轉載于:https://www.cnblogs.com/lulululu/p/3693875.html
總結
以上是生活随笔為你收集整理的结构体定义容易混淆的地方的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 并查集 基础 AC
- 下一篇: Uliweb多人博客教程demo站点