国产探花免费观看_亚洲丰满少妇自慰呻吟_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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邢台县| 桦南县| 凤城市| 彰化市| 桃源县| 如皋市| 蚌埠市| 平陆县| 铁岭市| 洪泽县| 和静县| 嫩江县| 固阳县| 栖霞市| 孟连| 舟山市| 高雄县| 昆山市| 藁城市| 连城县| 泉州市| 孝义市| 娱乐| 雷波县| 稷山县| 大关县| 凤翔县| 丘北县| 城固县| 庄浪县| 富民县| 石嘴山市| 越西县| 海晏县| 嘉荫县| 新兴县| 广元市| 德钦县| 民勤县| 龙门县| 兴海县|