C/C++中的指针

Step 1:
int a;//定义了一个整型变量a
int *p;//定义了一个整型指针p
int **p;//定义了一个整型指针的指针
int array[];//定义了一个整型数组array
int (*pointerToArray)[];//定义了一个指向整型数组的指针pointerToArray
int *array[];//定义了一个数组array,数组的内容是整型指针
int method();//定义了一个方法,名字是mehtond
int (*pointerToMethod)();//定义了一个指向函数的指针pointerToMethod,这个函数没有参数,返回值是整型
int *method();//定义了一个函数method,这个函数没有参数,返回值是整型指针

Step 2:
int (*foo[10])();//定义了一个数组foo,数组的内容是函数,这个函数没有参数,返回值是整型,使用:foo[0](2);
int foo1[2][2];//定义了一个二维数组foo1
int (* foo2())[] ;//定义了一个函数foo2,它的返回值是整型数组的指针
int (* foo3())(); //定义了个函数foo3,它的返回值是一个函数指针,这个函数没有参数,返回值是整型

const int * grape;//定义了一个指针grape,它指向一个const的整型变量
int const * grape;//定义了一个指针grape,它指向一个const的整型变量
int * const grape_jelly;//定义了一个const的指针grape_jelly,它指向一个整型变量

Step 3:
char* const *(*next)(); //定义了一个函数指针next,这个函数没有参数,返回值是一个指针,指向一个指向char类型的常量指针
char *(*c[10])(int **p); //定义了一个数组c,它里面放的是函数指针,该函数的返回值是char指针,参数是整型变量的指针的指针
void (*signal(int sig, void (*func)(int)) ) (int); //定义了一个函数signal,返回一个函数指针,在signal中有两个参数,一个是整型变量,另一个是一个函数指针

总之一句话,如果你的声明比较多了,乱了,请使用typedef,或者改变方法实现。
参见:
1.expert c programming
2.http://www.netinter.cn/info/html/chengxusheji/C-C--/20080224/11853.html
3.http://blog.csdn.net/heiyeshuwu/archive/2007/01/23/1491571.aspx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值