定義結構體類型後,可聲明指向它的指針:
struct Movie { string title; int year; };
Movie amovie;
Movie* pmovie = &amovie; // 指向 amovie
->指針訪問成員用 ->(等價於 (*pmovie).member):
pmovie->title = "Inception"; pmovie->year = 2010; cout << pmovie->title << " " << pmovie->year;
#include#include #include using namespace std; struct Movie { string title; int year; }; int main() { Movie amovie; Movie* pmovie = &amovie; string mystr; cout << "Enter title: "; getline(cin, pmovie->title); cout << "Enter year: "; getline(cin, mystr); stringstream(mystr) >> pmovie->year; cout << "\nYou entered:\n"; cout << pmovie->title << " (" << pmovie->year << ")\n"; return 0; }
pmovie 存儲 amovie 的地址。*pmovie 解引用得到對象本身。pmovie->member 是 (*pmovie).member 的語法糖,更直觀。Movie* p = new Movie; 使用後 delete p;。void func(Movie* p)。