C++编程思想 第1卷 第3章 函数地址 复杂的声明和定义

一旦知道C和C++ 语法如何工作,就能创建许多复杂的条目


//: C03:ComplicatedDefinitions.cpp
// From Thinking in C++, 2nd Edition
// Available at http://www.BruceEckel.com
// (c) Bruce Eckel 2000
// Copyright notice in Copyright.txt

/* 1. */     void * (*(*fp1)(int))[10];
//fp1是指向函数的指针, 函数接受整形参数并返回一个10个void指针数组的指针

/* 2. */     float (*(*fp2)(int,int,float))(int);
//fp2是指向函数的指针,接受3个参数 int int float, 且返回一个指向函数的指针
//接受一个整形返回一个 float

/* 3. */     typedef double (*(*(*fp3)())[10])();
             fp3 a;
//创建许多复杂的定义,可以使用tyepdef
//显示每次typedef如何缩短复杂定义的
//fp3 是一个指向函数的指针 函数无参数
//返回一个指向含有10个指向函数指针数组的指针,不接受参数,返回double值
//a是 fp3类型中的一个
//typedef 用简单描述构建复杂描述
			 
/* 4. */     int (*(*f4())[10])();
//不是变量定义,而是函数定义
//f4是一个返回指针的函数,该指针指向一个含义10个函数指针的数组 返回整形值

int main() {} ///:~
我们很少使用复杂的声明和定义 
如果搞清楚,不会被可能遇到的稍微复杂的情况所困惑


无输出


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值