zoukankan      html  css  js  c++  java
  • c++入门之初话指针

    先上代码:再进行总结知识:

     1 # include "iostream"
     2 struct ant_year_end
     3 {
     4     int year;
     5 };
     6 
     7 int main()
     8 {
     9     using namespace std;
    10     ant_year_end s1, s2, s3;
    11     s1.year = 1998;
    12     ant_year_end *point = &s2;
    13     point->year = 1999;
    14     ant_year_end trio[3];
    15     trio[0].year = 2003;
    16     cout << trio->year << endl;
    17     const ant_year_end*arp[3] = { &s1, &s2, &s3 };
    18     cout << arp[1]->year<< endl;
    19     const ant_year_end**ppa = arp;
    20     auto ppb = ppa;
    21     cout << (*ppa)->year << endl;
    22     cout << (*(ppa + 1))->year << endl;
    23     system("pause");
    24     return 0;
    25 }

    上段代码中,包含了几个重要的方面:

    1    s1,s2,s3为结构体变量名,通过结构体变量名来访问结构体成员的方法是:结构体变量名.(这里有点)结构体成员。

    2   point 为结构体指针 变量名,该变量存储了结构体变量s2的地址,即本质上,point指向了s2这个结构体。因此通过结构体指针来访问结构体变量成员的方法是 :

    结构体指针->结构体成员。

    3  trio是结构体数组,结构体数组访问成员的办法是:数组元[].结构体成员.即我们发现,采用变量名(无论是单个结构体变变量,还是数组形式),都采用.(点)的方式。

    4  arp[3]是结构体指针数组,即本质是指针数组,即数组的每个元素都是指针,每个指针元素指向了之前的结构体变量,因此,访问结构体成员的方式为:结构体指针->成员名

    5 ppa为指向指针的指针,本质上,这个变量是个指针,这个指针的内容,装的仍然是一个指针,访问结构体成员的方式:(*最外层指针)->结构体成员。

    总结:

        通过结构体变量名访问成员的方式是.(点),通过结构体指针(无论是多少层)访问成员的方式是->。

       无论是多少层指针,他们在逻辑上是统一的,我们通过访问成员的方式可以发信这一点。

  • 相关阅读:
    poj 2312 Battle City
    poj 2002 Squares
    poj 3641 Pseudoprime numbers
    poj 3580 SuperMemo
    poj 3281 Dining
    poj 3259 Wormholes
    poj 3080 Blue Jeans
    poj 3070 Fibonacci
    poj 2887 Big String
    poj 2631 Roads in the North
  • 原文地址:https://www.cnblogs.com/shaonianpi/p/9696370.html
Copyright © 2011-2022 走看看