C++ Struct結(jié)構(gòu)體用法淺析
一.C語言 Strcut基本用法
C語言聲明結(jié)構(gòu)體的幾種方式
struct 結(jié)構(gòu)體名
{
數(shù)據(jù)類型 變量名1;
};
其中的數(shù)據(jù)類型既可以是約定好的int、char、float等數(shù)據(jù)類型,也可以是結(jié)構(gòu)體類型(在定義此處結(jié)構(gòu)體之前已經(jīng)定義完成)。
例如:
struct student { char name[20]; int id; float chinese; float english; float math; };
結(jié)構(gòu)體的調(diào)用:
struct 結(jié)構(gòu)體 結(jié)構(gòu)體名;
結(jié)構(gòu)體名.變量名 =
例如:
struct student s1; s1.id = 20191028456; s1.math = 95;
二.C++Strcut基本用法
C++語言將struct當(dāng)成類來處理的,所以C++的struct可以包含C++類的所有東西,例如構(gòu)造函數(shù),析構(gòu)函數(shù),友元等。
與C中struct比較明顯的一個區(qū)別是,C++允許在聲明結(jié)構(gòu)體變量時省略關(guān)鍵字struct
struct student { char name[20]; int id; float chinese; float english; float math; };
student s2; s2.id = 20191031256; s2.math = 60;
C++也支持其他集中結(jié)構(gòu)體定義方式
1.結(jié)構(gòu)體定義時同時聲明結(jié)構(gòu)體變量
struct student { char name[20]; int id; float chinese; float english; float math; }st3,st4;
2.省略結(jié)構(gòu)體名稱同時聲明結(jié)構(gòu)體變量
struct { char name[20]; int id; float chinese; float english; float math; }st5;
這種方式同樣可以使用st5.id去訪問成員,但是這種類型沒有名稱,不能使用名稱去創(chuàng)建這種類型的結(jié)構(gòu)體變量,不建議使用。
三.typedef 定義結(jié)構(gòu)體
使用typedef
定義可以不寫struct,定義變量的時候方便許多。
例如:
typedef struct student { char name[20]; int id; float chinese; float english; float math; }student_inf;
在使用時,可直接用student_inf
來定義變量,如:
student_inf s1; s1.chinese = 95; s1.id = 1;
到此這篇關(guān)于C++ Struct結(jié)構(gòu)體用法淺析的文章就介紹到這了,更多相關(guān)C++ Struct結(jié)構(gòu)體內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Visual Studio中scanf函數(shù)報(bào)錯的幾種解決方法
本文主要介紹了Visual Studio中scanf函數(shù)報(bào)錯的幾種解決方法,文中通過圖文示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03C++中指針的數(shù)據(jù)類型和運(yùn)算相關(guān)知識小結(jié)
這篇文章主要介紹了C++中指針的數(shù)據(jù)類型和運(yùn)算相關(guān)知識小結(jié),是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-09-09