9.5 C++指向結構體變量的指針

原創 閆小林 C語言入門到精通 2020-12-31ios

收錄於話題數組

#小林C++代碼基礎app

95個ide

點擊上方「C語言入門到精通」,選擇置頂函數

第一時間關注程序猿身邊的故事spa


圖片


做者指針

閆小林orm

白天搬磚,晚上作夢。我有故事,你有酒麼?blog


C++經過指向結構體變量的指針引用結構體變量中的成員
 
C++中,一個結構體變量的指針就是該變量所佔據的內存段的起始地址,指針變量也能夠用來指向結構體數組中的元素。  C++提供了指向結構體變量的運算符->,例如:
圖片

p->num;//表示指針p當前指向的結構體變量中的成員num

p->num 和(*  p).num 等價,一樣,p->namep->name等價於(*p).name。
在C++中,如下3種形式等價:   

  • 結構體變量.成員名,如stu.num。

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

  • p->成員名,如p->num,->稱爲指向運算符。 


p->n;//獲得p指向的結構體變量中的成員n值。
p->n++;//獲得p指向的結構體變量中的成員n的值,用完該值後使它加1。
++p->n;//獲得p指向的結構體變量中的成員n的值,並使之加1,而後再使用它。

經典案例:C++指向結構體變量的指針。
#include<iostream>//預處理
using namespace std;//命名空間 
int main()//主函數 
{
  struct Student{ //自定義結構體變量 
    int num;//學號 
    char sex;//性別 
    int age;//年齡 
  };
  Student stu;//定義Student類型的變量stu 
  Student *point=&stu;//定義point爲指向Student類型數據的指針變量並指向stu 
  stu.num=1001;//賦值 
  stu.sex='M';//賦值 
  stu.age=21;//賦值 
  cout<<stu.num<<endl;//輸出學號 
  cout<<stu.sex<<endl//輸出性別
  cout<<stu.age<<endl//輸出年齡 
  cout<<"--------"<<endl
  cout<<(*point).num<<endl;//輸出學號
  cout<<(*point).sex<<endl;//輸出性別
  cout<<(*point).age<<endl;//輸出年齡 
  return 0//函數返回值爲0;
}

編譯運行結果:

1001
M
21
--------
1001
M
21

--------------------------------Process exited after 0.08501 seconds with return value 0請按任意鍵繼續. . .
相關文章
相關標籤/搜索