国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++教程:C++結構數組與結構指針

2020-05-23 14:26:58
字體:
來源:轉載
供稿:網友
結構是一種數據類型,因此它也有對應的結構數組和指向結構的指針。

結構數組

定義結構數組和定義其他類型的數組在語法上并無差別。需要注意的是,在定義結構數組之前,我們必須先定義好這個結構。比如:
struct student
{
   int idNumber;
   char name[15];
   int age;
   char department[20];
   float gpa;
};
……
student S[3]={ {428004, "Tomato",20, "ComputerScience",84.5},
{428005, "OOTTMA",20, "ComputerScience",85.0},
{428006, "OTA",20, "ComputerScience",89.8}};
……
使用結構數組只要遵循結構和數組使用時的各項規則即可,在此不作贅述。

結構指針

在上一章我們了解到指針的一個重要作用就是實現內存的動態分配(堆內存)。待我們學完了這一章,我們會發現結構指針也是一個非常有用的工具。

所謂結構指針就是指向結構的指針。定義好一個結構之后,定義一個結構指針變量的語法格式為:
    結構類型名 *指針變量名;

我們知道一般的指針是通過間接引用操作符“*”來訪問它指向的變量。那么我們如何訪問結構指針所指向的變量的成員數據呢?這里要介紹箭頭操作符“->”,我們用它可以訪問到指針指向的變量的成員數據。它的格式為:
    指針變量名->成員數據
需要注意的是,箭頭操作符的左邊一定是一個結構指針,而成員操作符的左邊一定是一個結構變量,兩者不能混淆使用。


下面我們來看一段程序,掌握如何使用結構指針:(程序9.4)
#include "iostream.h"
struct student
{
   int idNumber;
   char name[15];
   int age;
   char department[20];
   float gpa;
};
void display(student *arg);//結構指針作為函數參數
int main()
{
   student s1={428004, "Tomato",20, "ComputerScience",84.5};//初始化結構變量
   student *s1ptr=&s1;//定義結構指針變量,并把s1的地址賦值給s1ptr
   display(s1ptr);
   return 0;
}
void display(student *arg)
{
   cout <<"學號:" <<arg->idNumber <<"姓名:" <<arg->name <<"年齡:" <<arg->age <<endl <<"院系:" <<arg->department <<"成績:" <<arg->gpa <<endl;//用箭頭操作符訪問成員數據
}

運行結果:
學號:428004姓名:Tomato年齡:20 
院系:ComputerScience成績:84.5
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浮山县| 贡觉县| 从化市| 黎城县| 苗栗县| 宣威市| 台安县| 岐山县| 黔南| 盘山县| 台江县| 大厂| 且末县| 彭水| 三原县| 清新县| 洪泽县| 台中市| 钟祥市| 娱乐| 泗洪县| 宽甸| 河津市| 英德市| 开远市| 福海县| 吕梁市| 博乐市| 达州市| 长宁县| 黎川县| 新乡县| 晋江市| 临海市| 霍城县| 太谷县| 平罗县| 朝阳区| 崇信县| 昌江| 炎陵县|