天天看點

結構體内容引用自非結構體數組對象。_CPlusPlus 結構體函數和共同體基礎知識詳解...1.結構體變量作函數參數2.結構體指針作函數參數結構體數組聲明與引用指針通路結構體數組

結構體内容引用自非結構體數組對象。_CPlusPlus 結構體函數和共同體基礎知識詳解...1.結構體變量作函數參數2.結構體指針作函數參數結構體數組聲明與引用指針通路結構體數組

1.結構體變量作函數參數

結構體變量可以被當做普通變量來作為函數參數,減少函數參數個數,使代碼簡潔。

執行個體:

#includeusing namespace std;struct Person //定義結構體 Person{ int index ; char name[20]; short age ;};void ShowStructMessage( struct Person myinfo) //自定義函數,輸出結構體變量成員{ cout<
           

結果為:

結構體内容引用自非結構體數組對象。_CPlusPlus 結構體函數和共同體基礎知識詳解...1.結構體變量作函數參數2.結構體指針作函數參數結構體數組聲明與引用指針通路結構體數組

2.結構體指針作函數參數

結構體指針變量作為函數參數傳遞時,傳遞的隻是位址,減少了時間和空間上的開銷,能夠提高程式的運作效率。在實際應用中效果較好。

優點:

傳遞的隻是位址減少了時間和空間上的開銷提高程式的運作效率實際應用中效果較好

執行個體:

#includeusing namespace std;struct Person //定義結構體 Person{ int index ; char name[20]; short age ;};void ShowStructMessage( struct Person *pinfo) //自定義函數,輸出結構體變量成員{ cout<index<name<age<
           

結果為:

結構體内容引用自非結構體數組對象。_CPlusPlus 結構體函數和共同體基礎知識詳解...1.結構體變量作函數參數2.結構體指針作函數參數結構體數組聲明與引用指針通路結構體數組

結構體數組聲明與引用

1.定義結構體數組時聲明

struct Person //定義結構體 Person{ int index ; char name[20]; short age ;}P[5];
           

2.使用結構體變量聲明

struct Person //定義結構體 Person{ int index ; char name[20]; short age ;}pinfo;Person P[5];
           

3.直接聲明結構體數組

struct { int index ; char name[20]; short age ;}Person[5];
           

4.聲明結構體數組時初始化數組

struct Person //定義結構體 Person{ int index ; char name[20]; short age ;}P[3]={{1,“劍雲鋒”,23}, {2,“雲劍鋒”,22},{3,“風雲劍”,21}};
           

注:

當對全部元素作初始化指派時,也可不給出數組長度p[]。

結構體内容引用自非結構體數組對象。_CPlusPlus 結構體函數和共同體基礎知識詳解...1.結構體變量作函數參數2.結構體指針作函數參數結構體數組聲明與引用指針通路結構體數組

指針通路結構體數組

#includeusing namespace std;void main(){struct Person //定義結構體 Person{ int index ; char name[20]; short age ;}P[3] = { { 1,"劍雲鋒