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

    总结:

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

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

  • 相关阅读:
    16-高级指针
    15-C语言结构体
    14-C语言宏
    13-C语言字符串函数库
    12-C语言字符串
    11-C语言指针
    10-C语言函数
    POJ 1001 高精度乘法
    POJ 1060 多项式乘法和除法取余
    POJ 1318 字典排序
  • 原文地址:https://www.cnblogs.com/shaonianpi/p/9696370.html
Copyright © 2011-2022 走看看