C++学习笔记23:类型组合

        通过一个示例程序,了解数组、结构和指针的类型组合。

//mixtypes.cpp -- 结构、数组、指针的类型组合
#include <iostream>

struct antarctica_years_end         //结构声明
{
	int year;
};

int main()
{
	antarctica_years_end s01, s02, s03;                         //创建三个结构
	s01.year = 1998;                                            //使用句点成员运算符访问s01结构中的year成员
	
	antarctica_years_end * pa = &s02;                           //创建指向s02结构的指针pa
	pa->year = 1999;                                            //使用指针和箭头成员运算符来访问s02结构中的year成员
	
	antarctica_years_end trio[3];                               //创建包含三个结构的结构数组
	trio[0].year = 2003;                                        //利用数组元素索引号和句点成员运算符来访问结构数组中第一个结构的year成员
	std::cout << trio->year << std::endl;                       //因为数组名是一个指针,所以也可以用箭头运算符来访问元素的成员
	
	const antarctica_years_end * arp[3] = { &s01,&s02,&s03 };   //创建指针数组
	std::cout << arp[1]->year << std::endl;                     //arp是一个指针数组,arp[1]就是一个指针,所以可用箭头运算符来访问成员
	
	const antarctica_years_end ** ppa = arp;                    //创建指向指针数组的指针
	auto ppb = arp;                                             //通过arp的类型自动推断出ppb的类型,这句程序即为 const antarctica_years_end ** ppb = arp;
	std::cout << (*ppa)->year << std::endl;                     //arp是一个数组,ppa指向arp的第一个元素,因此*ppa为第一个元素,即&s01
	std::cout << (*(ppb + 1))->year << std::endl;               //ppb+1指向下一个元素arp[1],即&s02

	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值