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

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

C++中指向結(jié)構(gòu)體變量的指針

2020-01-26 15:44:03
字體:
供稿:網(wǎng)友

定義:

結(jié)構(gòu)體變量的指針就是該變來那個(gè)所占據(jù)的內(nèi)存段的起始地址??梢栽O(shè)一個(gè)指針變量,來指向一個(gè)結(jié)構(gòu)體變量,此時(shí)該指針變量的值是結(jié)構(gòu)體變量的起始地址。

設(shè)p是指向結(jié)構(gòu)體變量的數(shù)組,則可以通過以下的方式,調(diào)用指向的那個(gè)結(jié)構(gòu)體中的成員:

(1)結(jié)構(gòu)體變量.成員名。如,stu.num。

(2)(*p).成員名。如,(*p).num。

(3)p->成員名。如,p->num。

復(fù)制代碼 代碼如下:

#include<iostream>
#include<string>
using namespace std;
struct Candidate{
 string name;
 int count;
};
int main(){
 Candidate c_leader[2]={"Tom",5,"Marry",8};
 Candidate *p1,*p2;
 p1=c_leader;
 cout<<(*p1).name<<":"<<(*p1).count<<endl;
 p2=&c_leader[1];
 cout<<p2->name<<":"<<p2->count<<endl;
 return 0;
}


復(fù)制代碼 代碼如下:

p1=c_leader;

說明,結(jié)構(gòu)體數(shù)組也和其他數(shù)組一樣,一維數(shù)組的數(shù)組代表首個(gè)元素的地址

我們了解到,結(jié)構(gòu)體中可以包含很多類型的成員變量,那么可否包含指針變量成員呢?答案是可以的。

那么是否也可以包含指向同類結(jié)構(gòu)的結(jié)構(gòu)體變量呢?當(dāng)然可以,鏈表就是應(yīng)用了這個(gè)原理。

復(fù)制代碼 代碼如下:

#include<iostream>
#include<string>
using namespace std;
struct Candidate{
 string name;
 int count;
 Candidate *next;//定義了指向Candidate類型變量的指針
};
int main(){
    Candidate c_leader[3];
 c_leader[0].name="Tom";
 c_leader[0].count=5;
 c_leader[0].next=&c_leader[1];
 c_leader[1].name="Nick";
 c_leader[1].count=9;
 c_leader[1].next=&c_leader[2];
 c_leader[2].name="Jim";
 c_leader[2].count=10;
 c_leader[2].next=NULL;
 Candidate *p=c_leader;
 while(p!=NULL){
  cout<<p->name<<":"<<p->count<<endl;
  p=p->next;
 }
 return 0;
}

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 肥乡县| 隆尧县| 中超| 蓬溪县| 通城县| 彰化县| 益阳市| 鄯善县| 汾阳市| 苍山县| 织金县| 金昌市| 乌拉特前旗| 贞丰县| 陆良县| 沅陵县| 原阳县| 高淳县| 泾源县| 千阳县| 垣曲县| 台湾省| 德格县| 乌拉特中旗| 昌黎县| 黎川县| 普兰县| 青冈县| 古丈县| 揭东县| 沙湾县| 邢台县| 司法| 怀仁县| 龙游县| 高平市| 安阳市| 石楼县| 郯城县| 会理县| 建德市|