码迷,mamicode.com
首页 > 其他好文 > 详细

高级声明(——C primer第13章)

时间:2015-07-30 23:15:13      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

高级声明:

(1) int *f,g;

      这个只声明了一个f指针。*是都是紧跟在其后的。

(2) int *f();

      f是一个函数,它的返回值是一个指向整型的指针。

(3) int  (*f)();

      f是一个函数指针,这个函数的返回值是一个int类型。

(4) int *(*f)();

      f是一个函数指针,这个函数的返回值是一个int*类型

(5) int f[];

      f是一个整型数组,数组的长度暂时省略

(6) int *f[]

      f是一个数组,数组的元素是指向整型的指针

(7)  int f()[]---这个声明时非法的

       这里f是一个函数,他的返回值是一个整型数组,但这个声明是非法

       的,因为函数不能返回数组,只能返回标量。

(8)  int f[]()---这个声明是非法的

       这里f是一个数组,数组里是返回值为int的函数,这个声明是非法的

       因为各个函数的不不具有相同的大小,而数组的元素需要相同的大小。

(9) int (*f[])();

       这里f是一个数组,而数组的元素是函数的指针,而这些函数的返回值是

       Int型

(10) int *(*f[])();

       这里f是一个数组,而数组的元素是函数指针,而这些函数的返回值是int*型

       前面都是旧式的风格

     下面是新风格

          int (*f)(int,float);

这里将f声明为一个函数指针,它的参数为int和float,返回值为int型

          int *(*g[])(int,float);

这里将g声明为一个数组,数组的元素为函数指针,而函数的参数是int和float

返回值是int*的指针。

高级声明(——C primer第13章)

标签:

原文地址:http://www.cnblogs.com/yanliang12138/p/4690799.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!