本程序主要是基于结构体的混合类型简单应用,相关代码下载地址:http://download.csdn.net/detail/tianzhaixing/6206719
结构体定义,结构成员访问。
其中,结构成员的访问设计,结构指针,结构数组,指针数组,结构指针的指针等多种方式访问结构成员。
具体实现,如下代码所示以及个人的注释理解:
// mixtypes.cpp --some type combinations
#include <iostream>
struct antarctica_years_end//结构体定义
{
int year;
};
//using namespace std;
int main()
{
antarctica_years_end s01, s02, s03; //定义三个结构体
s01.year = 1998; //点操作访问结构体s01成员,赋值为1998
antarctica_years_end * pa = &s02; //定义一个结构体指针
pa->year = 1999; //箭头(→)操作间接访问结构体s02成员,赋值为1999
antarctica_years_end trio[3]; // 定义结构数组:array of 3 structures
trio[0].year = 2003; //使用成员运算符访问结构trio[0]成员,赋值为2003
std::cout << trio->year << std::endl;//使用箭头操作符间接输出结构数组第一个结构元素trio[0]对应的结构成员
const antarctica_years_end * arp[3] = {&s01, &s02, &s03};//定义常量结构指针数组,并进行相应初始化
std::cout << arp[1]->year << std::endl; //箭头操作符间接访问指针所指向的结构成员
const antarctica_years_end ** ppa = arp; //定义一个指向结构指针的常量指针
//auto ppb = arp; // C++0x automatic type deduction
const antarctica_years_end ** ppb = arp;
std::cout << (*ppa)->year << std::endl; //输出第一个结构对应的成员
std::cout << (*(ppb+1))->year << std::endl; //输出第二个结构对应的成员
return 0;
}